2016-07-06 127 views
1

我想運行一個沒有寫入加載的html頁面的js函數,例如我們有一個簡單的帶有按鈕的html頁面,並且我想要使用外部js腳本:在Windows 10中執行js腳本webView

<!DOCTYPE html> 
    <html> 
    <body> 

    <button id="my_button" type="button" onclick="">Click Me!</button> 

    </body> 
    </html> 

,我有我的劇本格式的文件:

function disableFun() { 
document.getElementById("my_button").disabled = true; 
} 

official doc提到有一個API方法InvokeScriptAsync(string scriptName, string[] arguments)但提到我們必須已經具有腳本轉換成html加載頁面。

任何建議是apreciated!

P.S.在android中我們做起來很簡單webView.loadUrl('my script code')

回答

2

您可以使用InvokeScriptAsync和JavaScript eval函數將內容注入到網頁中。

參見Interacting with WebView content部分this document

所以要禁用按鈕,你可以使用你的CS文件中的以下代碼:

String scriptStr = @"document.getElementById('your_buttonId').disabled=true"; 
await myWebView.InvokeScriptAsync("eval", new String[] {scriptStr});