Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在iphone uiwebview中处理iframes/frames dom_Javascript_Iphone_Iframe_Uiwebview_Frame - Fatal编程技术网

Javascript 如何在iphone uiwebview中处理iframes/frames dom

Javascript 如何在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

(无效)webViewDidFinishLoad:(UIWebView*)webView

我注入了一些javascript来处理iFrame。e、 g

    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吗?谢谢