2014-12-30 8 views
4

v0.20.2. <webview> 태그는 shadow-root에 하나의 태그, <object id="browser-plugin-1 ...>이 있습니다. 그래서이 태그에 대해 scrollTop 값을 설정하려고했습니다. <webview> 태그의 내용을 JavaScript에서 어떻게 스크롤 할 수 있습니까?

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> 태그 스크롤 위치를 제어 할 수 있습니까?

답변

3

예, 대신 이렇게 :

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

감사합니다. @paul. 나는이 'webView.executeJavaScript ("document.querySelector ('body ')와 같이 제어 할 수있다. scrollTop = 100;");' – snufkon

0

그것은 웹보기 내부의 코드를 평가합니다 WebView.executeJavaScript(code) 기능을 통해 자바 스크립트의 어떤 종류를 실행할 수 있습니다.

요소에 액세스하려면 먼저 WebView가로드 될 때까지 기다린 다음 자바 스크립트를 실행해야합니다.

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's WebView tag documentation)