Jquery无法获取<iframe>元素的内容

时间:2016-03-17 07:01:41

标签: javascript jquery html iframe

您好我正在尝试使用以下链接在Chrome控制台中使用Jquery选择表单标记:

&#xA;&#xA;
  http:// www.dcoi-conference.org/#!registration/cpq5

我试过:

&#xA;&#xA;
  $(“form”)&#xA;  
&#xA;&#xA;

这给出了空数组&#xA;在这里我看到表单元素位于 iframe 中。因此我也尝试了

&#xA;&#xA;
  $(“iframe”)[0] .contents();&#xA;  
&# xA;&#xA;

但是可以获得任何结果。&#xA;请帮忙。

&#xA;

1 个答案:

答案 0 :(得分:4)

该页面中的表单位于iframe中,该iframe来自与页面不同的来源。因此,浏览器安全模型不允许您从父页面访问iframe DOM。

如果不将内容移出该外国域或将代码放入该外来源iframe,则无法仅从父页面解决该安全限制。

可能的解决方案:

  1. 停止从外部域嵌入iframe,因为无法获取跨源iframe的内容。将内容直接放入您自己的页面,您可以自由访问它。
  2. 将代码添加到将与父页面配合的外部域。合作的跨原始帧可以通过window.postMessage()进行通信,但它需要两个域中两个帧中的协作代码。