jQuery跨域iframe脚本

前端之家收集整理的这篇文章主要介绍了jQuery跨域iframe脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试访问加载外部URL的iframe的DOM。当然,由于跨域安全,我得到一个“Permission denied for”错误。我该怎么做这个工作?我看到json完成了一些事情(但是我不能从外部的源码获取一个json字符串),而且用HTML5 postmessage完成了一些事情。

你可以看到它生活在:
http://jsfiddle.net/QPBvJ/

代码是:

$(document).ready(function(){
     $('#get').live('click',function() {

        var currentIFrame = $('#frameDemo');
        currentIFrame.contents().find("a").css("background-color","#BADA55");

        alert ("done")
    });
    });

<iframe src="http://api.jquery.com/" width="80%" height="600" id='frameDemo'></iframe>
<button id="get">Get</button>

这样做最简单的方法是什么?
谢谢

解决方法

没有办法让这项工作。除非您尝试访问的外部域支持类似于 C.O.R.SJSONPpostMessage的过程。

有一些例外(像往常一样):

例如,如果您处理WebApp,您可以告诉用户他们必须授予对跨域呼叫的访问权限。

例如,在Gecko / Firefox中,您可以调用

netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead')

这使得浏览器可以通过ajax / iframe访问外部域。在这种情况下,用户必须设置

signed.applets.codebase_principal_support

关于:config来做这个工作。

在这个世界的互联网探险者中,有一种称为类似的设置,允许跨域访问深度隐藏在安全选项卡中,必须将其设置为启用。

Chrome允许使用命令行参数进行跨域调用

chrome.exe --disable-web-security
原文链接:https://www.f2er.com/jquery/181988.html

猜你在找的jQuery相关文章