Javascript 从具有不同域的iframe内部进行AJAX调用

Javascript 从具有不同域的iframe内部进行AJAX调用,javascript,html,dom,iframe,Javascript,Html,Dom,Iframe,可以从具有不同域源的iframe内部进行AJAX调用吗 我尝试过脚本注入,但它不起作用,因为iframe的源代码是安全的。 我在加州车管所的网站上做了一个简单的修改 我收到DOM异常8错误。这是安全问题吗 不可能在具有不同域源的iframe中修改或进行JS调用。出于安全原因,这在所有浏览器中都受到限制 有关帧间安全性如何工作的说明,请参见“”。简而言之,出于安全原因,不同域上的帧之间几乎不允许通信。不能在不同域上的帧之间进行任何直接Javascript调用 有一种方法可以进行跨域ajax调用,它

可以从具有不同域源的iframe内部进行AJAX调用吗

我尝试过脚本注入,但它不起作用,因为iframe的源代码是安全的。 我在加州车管所的网站上做了一个简单的修改


我收到DOM异常8错误。这是安全问题吗

不可能在具有不同域源的iframe中修改或进行JS调用。出于安全原因,这在所有浏览器中都受到限制

有关帧间安全性如何工作的说明,请参见“”。简而言之,出于安全原因,不同域上的帧之间几乎不允许通信。不能在不同域上的帧之间进行任何直接Javascript调用

有一种方法可以进行跨域ajax调用,它涉及到使用。基本上,您将脚本标记注入到自己的框架中,并且该脚本标记指向web上任何位置的服务器端点。由于脚本标记的src值不受同源策略的限制,因此可以访问该服务器。但是,现在你需要找到一种方法来恢复结果。这是使用JSONP完成的,在服务器请求中指定希望返回的javascript调用的javascript函数。返回的javascript可以包含javascript数据,然后将这些数据传递给所需的函数。JSONP需要客户机代码和服务器代码之间的协作,因为普通的ajax调用可能不支持JSONP的额外部分。但是,通过双方的合作,您可以为支持JSONP的服务器端点获得相同的源策略


HTML5有一个新的消息传递系统,可以在不同域中的协作帧之间安全地传递数据(而不是直接的JS调用)。有关HTML5消息传递工作原理的描述,请参阅和。

不可能在具有不同域源的iframe中修改或进行JS调用。出于安全原因,这在所有浏览器中都受到限制

有关帧间安全性如何工作的说明,请参见“”。简而言之,出于安全原因,不同域上的帧之间几乎不允许通信。不能在不同域上的帧之间进行任何直接Javascript调用

有一种方法可以进行跨域ajax调用,它涉及到使用。基本上,您将脚本标记注入到自己的框架中,并且该脚本标记指向web上任何位置的服务器端点。由于脚本标记的src值不受同源策略的限制,因此可以访问该服务器。但是,现在你需要找到一种方法来恢复结果。这是使用JSONP完成的,在服务器请求中指定希望返回的javascript调用的javascript函数。返回的javascript可以包含javascript数据,然后将这些数据传递给所需的函数。JSONP需要客户机代码和服务器代码之间的协作,因为普通的ajax调用可能不支持JSONP的额外部分。但是,通过双方的合作,您可以为支持JSONP的服务器端点获得相同的源策略


HTML5有一个新的消息传递系统,可以在不同域中的协作帧之间安全地传递数据(而不是直接的JS调用)。有关HTML5消息传递工作原理的说明,请参阅和。

是的,这是一个安全问题,因为大多数浏览器都强制执行同源策略:


您可以查看专门为解决此问题而设计的JSONP。

是的,这是一个安全问题,因为大多数浏览器都强制执行相同的源策略:

您可以研究JSONP,它是专门为解决这个问题而设计的