Show TOC

Vorhandensein von Browser-Plug-ins prüfenLocate this document in the navigation structure

Um aktive UI-Elemente anzuzeigen, müssen am Browser die entsprechenden Plug-ins vorhanden sein. Beim Fehlen dieser Plug-ins können Sie zum Beispiel eine alternative Darstellung anbieten.

Kontext

Web-Dynpro-ABAP-Anwendungen, die die UI-Elemente FlashIsland, SilverlightIsland, InteractiveForm, AcfExecute oder AcfUpDownload einbinden, können nur angezeigt werden, wenn im Browser die Plug-ins für Flash, Silverlight, Adobe Reader bzw. Java vorhanden sind. Die Methoden der Schnittstelle IF_WD_CLIENT_INFORMATION ermöglichen es Ihnen, am Server informiert zu werden, falls diese Browser-Plug-ins nicht installiert oder deaktiviert sind. Hierzu muss sich die Anwendung auf die benötigten Plug-ins registrieren. Nur wenn eine Registrierung für ein Plug-in vorhanden ist, wird am Browser der Status des Plug-ins geprüft.

Vorgehensweise

  1. Implementieren Sie einen Aufruf der Methode GET_CLIENT_INFORMATION der Schnittstelle IF_WD_APPLICATION (z.B. in der Methode WDDOINIT). Sie erhalten eine Instanz der Schnittstelle IF_WD_CLIENT_INFORMATION.
    Quellcode
    wd_this->get_componentcontroller_ctr( )->wd_get_api( )->get_application( )->get_client_information( ).
  2. Legen Sie Ereignisbehandler an, die gerufen werden, wenn das jeweilige Browser-Plug-in fehlt (z.B. ONACTIONFLASH_NOT_AVAILABLE oder ONACTIONJAVA_NOT_AVAILABLE).
  3. Verbinden Sie die Ereignisbehandler mit dem zugehörigen Ereignis (z.B. in der Methode WDDOMODIFYVIEW). Verwenden Sie dazu die Methode REGISTER der Schnittstelle IF_WD_CLIENT_INFORMATION.
    Quellcode
    register(  
    event     =  if_wd_client_information =>e_event-pdf_not_available    
    view      =  view   
    action    =  `PDF_NOT_AVAILABLE` ).
  4. Implementieren Sie die Ereignisbehandlermethoden. Die Überprüfung der Plug-ins findet während des Aufbaus der Seite am Client statt. Es wird davon ausgegangen, dass alle Plug-ins aktiv im Browser vorhanden sind. Wenn Plug-ins, für die es eine Registierung gibt, nicht aktiv vorhanden sind, dann wird nach der Überprüfung am Client ein Roundtrip ausgelöst und die entsprechenden ereignisbehandlermethoden am Server aufgerufen. Sind Plug-ins, für die es eine Registrierung gibt, aktiv vorhanden, dann wird kein Roundtrip ausgelöst.
  5. Um den Status eines Plug-Ins zu einem späteren Zeitpunkt abzufragen, können Sie die folgenden Get-Methoden der Schnittstelle IF_WD_CLIENT_INFORMATION (z.B. in der Methode WDDOMODIFYVIEW) verwenden. Wenn ein Plug-In verfügbar ist, liefern die entsprechende Methode ABAP_TRUE zurück. Wurde für ein Plug-in noch keine Überprüfung durchgeführt, das heißt es gab noch keine Registrierung für das Plug-In, liefert die Methode auch ABAP_TRUE zurück. Wenn die Anwendung nur mit einem Roundtrip (also ohne Ladeanimation) gestartet wird, stehen initial die Informationen zum Vorhandensein von Browser-Plug-ins nicht zur Verfügung. In diesem Fall wird die Exception cx_wd_client_information geworfen.
    • GET_FLASH_AVAILABLE
    • GET_JAVA_AVAILABLE
    • GET_PDF_AVAILABLE
    • GET_SILVERLIGHT_AVAILABLE