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.

Vorgehensweise

  1. Um eine Instanz der Schnittstelle IF_WD_CLIENT_INFORMATION zu erhalten, implementieren Sie einen Aufruf der Methode GET_CLIENT_INFORMATION der Schnittstelle IF_WD_APPLICATION (z.B. in der Methode WDDOINIT).
    Sie können folgenden Code verwenden:
    Quellcode
    wd_this->get_componentcontroller_ctr( )->wd_get_api( )->get_application( )->get_client_information( ).
     
  2. Verwenden Sie die folgenden Get-Methoden der Schnittstelle IF_WD_CLIENT_INFORMATION (z.B. in der Methode WDDOMODIFYVIEW) um die jeweils angegebenen Eigenschaften zu ermitteln:
    • GET_FLASH_AVAILABLE
    • GET_JAVA_AVAILABLE
    • GET_PDF_AVAILABLE
    • GET_SILVERLIGHT_AVAILABLE

      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.

      Werden die Informationen an dieser Stelle benötigt, können Sie Ereignisbehandler registrieren. Dadurch wird ein Roundtrip ausgelöst.

      Um Ereignisbehandler zu registrieren, gehen Sie wie folgt vor:

      1. Legen Sie Ereignisbehandler an, die gerufen werden, wenn das jeweilige Browser-Plug-in fehlt (z.B. ONACTIONFLASH_NOT_AVAILABLE oder ONACTIONJAVA_NOT_AVAILABLE).
      2. 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.

        Sie können folgenden Code verwenden:

        Quellcode
        register(  
        event     =  if_wd_client_information =>e_event-pdf_not_available    
        view      =  view   
        action    =  `PDF_NOT_AVAILABLE` ).
      3. Implementieren Sie die Ereignisbehandlermethoden.

        Die Überprüfung der Plug-ins findet während des Aufbaus der Seite am Client statt.