私はさまざまなドメインからウェブページを開くアプリを持っています。これらのドメインの一部には、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
のアラートをブロックして、ページのロードが完了する前にアラートが表示されないようにします。
一部のクラッシュレポートでは、webView stringByEvaluatingJavaScriptFromString:...
からshouldStartLoadWithRequest
を呼び出すと、アプリがクラッシュすることがわかりました。必ずしもそうではありません。それがなぜ起こっているのでしょうか?
手動ハイジャックを行わずに最初に警告が表示されないようにする方法はありますか?私はSFSafariViewControllerを使用したいと思いますが、残念なことに、これはさまざまな制約のオプションではありません。
ああ、WKWebViewがそれをしたことを知らなかった、それは実際には本当にクールです!つまり、WKWebViewも私が扱っている制約なので、あなたの答えは有用ですが、私はそれを扱うことはできません。 –