慕田峪9158850
2021-08-20 15:50:23
我嘗試在我的 webview 中加載這個(gè) javascript:@SuppressLint("ClickableViewAccessibility")@Overrideprotected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_fullscreen); website = "https://www.blizz-z.de"; myWebView = findViewById(R.id.blizzView); WebSettings settings = blizzView.getSettings(); settings.setJavaScriptEnabled(true); myWebView.setWebViewClient(new WebViewClient() { @Override // Notify the host application that a page has finished loading. public void onPageFinished(WebView view, String url) { myWebView.loadUrl( "javascript:(function() {" + "setInterval(function() {" + + "jQuery('#myInput').css('background', '#'+(Math.random()*0xFFFFFF<<0).toString(16));" + "}, 1000);" + "});" ); } } ...}但它沒有被執(zhí)行。如果我在桌面瀏覽器中執(zhí)行該腳本,則它可以工作。它僅出于測試目的更改了我網(wǎng)站上搜索欄的背景顏色。是setInterval不是在web視圖支持?
2 回答

蕭十郎
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊
您是否在 API 19 或更高版本上部署?如果是這樣,你將不得不使用WebView#evalulateJavascript而不是WebView#loadUrl
我總是使用這種方法來簡化和加快速度
public void js(String code) {
if (Build.VERSION.SDK_INT >= 19) {
this.evaluateJavascript(code, new ValueCallback<String>() {
@Override
public void onReceiveValue(String response) {
}
});
} else {
this.loadUrl("javascript:" + code);
}
}
添加回答
舉報(bào)
0/150
提交
取消