[英]How can I identify if my page is rendered in a normal browser or SAP CL_GUI_HTML_VIEWER
我正在做一個演示,模擬帶有觸摸事件的移動設備,因此在桌面瀏覽器的觸摸事件上捏縮放或滾動事件。 到目前為止,我已經在 Chrome、IE 和 Firefox 中使用了它。
最后一個要求是同樣的代碼也必須從 SAP CL_GUI_HTML_VIEWER
類內部運行。 至少當它在 Windows 上運行時,這個類基本上被識別為 IE。
我的問題是,無論出於何種原因, CL_GUI_HTML_VIEWER
都不支持像在 IE 中那樣的pointerdown
或pointermove
等實際瀏覽器事件
所以我希望能夠嘗試確定頁面是在 IE 中呈現的,還是在 SAP 中呈現的。 但是,由於 SAP 使用 IE,我的 javascript 總是說它是 IE。
有什么具體的方法可以識別差異嗎?
只是為了闡明如何在 SAP GUI 中加載網頁。 我正在調用方法show_url( url = myurl in_place = 'X' ).
對於我的CL_GUI_HTML_VIEWER
實例。 所以我的 ABAP 基本上是這樣的:
data: g_html_view type ref to CL_GUI_HTML_VIEWER,
g_custom_container type ref to CL_GUI_DOCKING_CONTAINER,
edurl(1024) value 'http://localhost:8080/MyPage.html'.
if g_custom_container is initial.
create object g_custom_container
exporting
extension = 3000.
endif.
if g_html_view is initial.
create object g_html_view
exporting
parent = g_custom_container.
endif.
call method g_html_view->show_url( url = edurl in_place = 'X' ).
您可以嘗試以下任何一種方法:
>>> window.is_sap_gui
true
>>> window.sapHtmlControl
"TRUE"
>>> window.location.protocol
"sapr3:"
我們使用第一個選項,但該選項可能是我們在框架中明確定義的選項。 第二個是 SAP 可能正在設置的一個。
如果其中任何一個都失敗,最好的方法是檢查協議。 這將是一個致命的贈品。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.