Javascript 如何在iphone uiwebview中处理iframes/frames dom
在 (无效)webViewDidFinishLoad:(UIWebView*)webView 我注入了一些javascript来处理iFrame。e、 gJavascript 如何在iphone uiwebview中处理iframes/frames dom,javascript,iphone,iframe,uiwebview,frame,Javascript,Iphone,Iframe,Uiwebview,Frame,在 (无效)webViewDidFinishLoad:(UIWebView*)webView 我注入了一些javascript来处理iFrame。e、 g stringByEvaluatingJavaScriptFromString: @"try { var document = window.document.getElementsByTagName('iframe')[0].contentWindow.document.getElementsByTagName('frame
stringByEvaluatingJavaScriptFromString:
@"try {
var document = window.document.getElementsByTagName('iframe')[0].contentWindow.document.getElementsByTagName('frame');
} catch (e) {
alert (e.message);
}"
它告诉我iframes文档未定义。实际上,我已经尝试打印iframe的contentWindow的所有属性,但是它完全是空的
我知道webViewDidFinishLoad可能会为每个帧加载调用多次。但我永远也拿不到iframe文档。我想至少有一次所有的iFrame都准备好了
有人能告诉我如何让iframe文档在uiwebview中处理dom吗
谢谢您应该使用postMessage Api来访问跨域iframe中的代码。
有关如何实现此功能的更多详细信息,请参阅。经过测试,我发现这实际上是由javascript跨域限制引起的。注入的javascript始终位于顶部窗口中,如果此顶部窗口中iframe的src引用另一个域,则无法在此iframe中获取任何属性。那么就没有办法处理这个iframe。有人有办法访问此iframe吗?谢谢