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 视图时
基础教程推荐
- 如何比较两个 NSDate:哪个是最近的? 2022-01-01
- UIImage 在开始时不适合 UIScrollView 2022-01-01
- SwiftUI-ScrollViewReader的ScrollTo不滚动 2022-01-01
- Android Volley - 如何动画图像加载? 2022-01-01
- Play 商店的设备兼容性问题 2022-01-01
- 为什么姜饼模拟器方向卡在应用程序中? 2022-01-01
- Xcode UIView.init(frame:) 只能在主线程中使用 2022-01-01
- navigationItem.backBarButtonItem 不工作?为什么上一个菜单仍然显示为按钮? 2022-01-01
- iOS - UINavigationController 添加多个正确的项目? 2022-01-01
- 如何将图像从一项活动发送到另一项活动? 2022-01-01
