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

Pav*_*nek 6 javascript iframe dom uiwebview uiwebviewdelegate

这个简单的代码

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

通过注入UIWebView stringByEvaluatingJavascriptFromString 产生的调用UIWebViewDelegate shouldStartLoadWithRequestabout:blank.有趣的是,这仍然适用mainDocumentURL于注射时存在的文件.对我而言,这意味着我不能随时注入这样的代码 - 重新进入shouldStartLoadWithRequest可以显着地打破很多东西.我可以拒绝所有about:blank的请求(返回NOshouldStart...从互联网络)和代码段做cluelessly,但它几乎没有一个系统的解决方案.

任何想法为什么UIWebView会有这种混乱和无用的行为?

Mat*_*ner 7

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