簡體   English   中英

如何滾動內容 <webview> 來自JavaScript的標簽?

[英]How can I scroll content of <webview> tag from JavaScript?

我正在使用<webview>標簽嵌入頁面。 <webview>標簽有shadow-root ,它有一個標簽, <object id="browser-plugin-1 ...> 。所以我試着像這樣為這個標簽設置scrollTop值。

var webView = document.getElementById('webview tag id');
var elm = webView.shadowRoot.firstChild; // elm is object tag
console.log(elm.scrollTop);  // 0
elm.scrollTop = 100;
console.log(elm.scrollTop);  // 0

但沒有發生任何事......
是否可以從外部控制<webview>標簽滾動位置?

是的,請改為:

var webView = document.getElementById('webview tag id');
webView.executeJavaScript("document.querySelector('body:first-child').scrollTop=100");

可以通過WebView.executeJavaScript(code)函數執行任何類型的javascript,該函數將評估WebView中的代碼。

要訪問元素,首先必須等待WebView加載,然后執行javascript。

var webView = document.getElementById('webView');
webView.addEventListener('did-finish-load', scrollElement );

function scrollElement(){
    var code = "var elm = document.querySelector('body:first-child'); elm.scrollTop = 100;";
    webView.executeJavaScript(code);
}

注意 :未測試此代碼,可能會出現語法錯誤。

Source(AtomShell的WebView標簽文檔)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM