2
我想在加載頁面之前將全局JavaScript函數注入到webview中。我有一個名爲testJS
,我在我注入功能。在我WebViewClient我做了以下在頁面加載時將JavaScript函數注入WebView
private String getJS() {
return "javascript:function testJS() { return { test: 'Hello World' };}";
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
view.loadUrl(getJS());
}
當我檢查網頁,window.testJS
是不確定的。
如果我做了以下操作,window.testJS
在web視圖中具有正確的功能,但它沒有足夠早的加載,因此無法正常工作。
@Override
public void onPageFinished(WebView view, String url) {
view.loadUrl(getJS());
}
在iOS中我可以注入一個腳本atDocumentStart
做等價和它的作品我希望它的方式。
let userScript = WKUserScript(
source: scriptContent!,
injectionTime: WKUserScriptInjectionTime.atDocumentStart,
forMainFrameOnly: false)
contentController.addUserScript(userScript)
有沒有另一種方法,我可以在Android WebView中實現這一點?它工作在onPageFinished但不onPageStarted。
它已啓用。這不是問題。問題是JavaScript沒有從onPageStarted正確加載。 – kittels
我看到了,我更新了我的答案,試試 – 2017-04-17 15:25:52
我的JavaScript去了哪裏?如果你只是加載一個javascript函數,接口的意義是什麼 – kittels