E/Web Console(8272): Uncaught ReferenceError: functionName is not defined:1 while loading webviews in a View Pager(E/Web 控制台(8272):未捕获的 ReferenceError:未定义函数名称:1 在视图寻呼机中加载 web 视图时)
问题描述
我正在尝试在视图寻呼机中加载网络视图.
I am trying to load webviews in a view pager.
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = null;
v = inflater.inflate(R.layout.webview_layout, container, false);
myWebView = (WebView)v.findViewById(R.id.webview1);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setAppCacheEnabled(true);
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
myWebView.loadUrl("file:///android_asset/web/index.html");
myWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
myWebView.loadUrl("javascript:testFunction()");
}
}
}
加载页面后,在onPageFinished()
中调用了一个javascript函数以正常速度滚动时,网页正在加载并执行 javascript.
After loading the page, a javascript function is called in onPageFinished()
While scrolling at normal speed the webpages are loading and the javascript is executed.
但是在高速滚动时出现以下异常.
But while scrolling at high speed the following exception is occured.
> 09-06 14:29:06.750: E/Web Console(8272): Uncaught ReferenceError:
> testFunction is not defined:1
testFunction() 是
testFunction() is
function testFunction(){
console.log("TestFuntion");
}
请帮忙...
推荐答案
我已经解决了这个问题
只需设置 webChromeClient 并捕获错误并重新加载页面...
just set webChromeClient and catch the error and reload the page...
myWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
isLoading = true;
}
@Override
public void onPageFinished(WebView view, String url) {
myWebView.loadUrl("javascript:testFunction()");
}
});
myWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
MessageLevel level = consoleMessage.messageLevel();
if(level.ordinal() == 3) { // Error ordinal
if(loading) {
myWebView.stopLoading();
myWebView.loadUrl(AppConstants.ARTICLE_PAGE_URL);
}
}
}
return false;
}
这篇关于E/Web 控制台(8272):未捕获的 ReferenceError:未定义函数名称:1 在视图寻呼机中加载 web 视图时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:E/Web 控制台(8272):未捕获的 ReferenceError:未定义函数名称:1 在视图寻呼机中加载 web 视图时


基础教程推荐
- 在 iOS 上默认是 char 签名还是 unsigned? 2022-01-01
- :hover 状态不会在 iOS 上结束 2022-01-01
- LocationClient 与 LocationManager 2022-01-01
- 如何使用 YouTube API V3? 2022-01-01
- 如何使 UINavigationBar 背景透明? 2022-01-01
- Android ViewPager:在 ViewPager 中更新屏幕外但缓存的片段 2022-01-01
- 使用 Ryzen 处理器同时运行 WSL2 和 Android Studio 2022-01-01
- 固定小数的Android Money Input 2022-01-01
- “让"到底是怎么回事?关键字在 Swift 中的作用? 2022-01-01
- Android文本颜色不会改变颜色 2022-01-01