我有一个应用程序可以打开来自各种域的网页。其中一些域内嵌有脚本,可显示诸如You're the 1 millionth visitor to this website. You won >>nothing<<"
之类的警报。阻止UIWebView警报
我决定劫持window.alert
方法调用什么都不做,以免上述网站显示恶意警报。
我阻止了- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
和- (void)webViewDidFinishLoad:(UIWebView *)webView
中的警报,以防止网站在页面加载完成之前显示警报。
某些崩溃报告表明从shouldStartLoadWithRequest
调用webView stringByEvaluatingJavaScriptFromString:...
会导致应用程序崩溃。并不总是,有时候。任何想法为什么这可能是?
有没有一种方法可以在不进行手动劫持的情况下首先防止警报显示?我很喜欢使用SFSafariViewController,但不幸的是,这不是各种约束的选项。
啊,不知道WKWebView做到了,那真的很酷!也就是说,WKWebView也是我正在处理的一个约束,所以虽然你的答案很有帮助,但我无法使用它。 –