UIWebView产生about:iframe附加时的空白请求

时间:2014-05-13 14:10:38

标签: javascript dom iframe uiwebview uiwebviewdelegate

这个简单的代码

var iframe = document.createElement('iframe'); document.documentElement.appendChild(iframe);

UIWebView stringByEvaluatingJavascriptFromString注入 使用UIWebViewDelegate shouldStartLoadWithRequest生成about:blank的调用。有趣的是,mainDocumentURL设置了注入时的文档。对我而言,这意味着我无论何时何时都无法注入此类代码 - 重新注册shouldStartLoadWithRequest会明显打破很多事情。我可以拒绝所有about:blank个请求(从NO返回shouldStart...),来自互联网的代码片段无能为力,但它几乎不是一个系统的解决方案。

为什么UIWebView会出现这种令人困惑和无用的行为?

1 个答案:

答案 0 :(得分:7)

由于您未在src上设置iframe属性,因此默认情况下会加载about:blank。如果要避免此行为,可以在将iframe.setAttribute添加到文档之前使用iframe设置虚拟值,然后在shouldStartLoadWithRequest中取消虚拟请求。