在iframe中提取脚本

时间:2013-09-10 04:34:27

标签: javascript jquery html iframe

我正在从其他域渲染iframe。 iframe仅包含脚本(例如)。

有没有办法提取iframe的内容或至少iframe中的最后一个脚本标签?

我已经尝试了console.log($("iframe").contents().find('script'));但是返回的长度为0,因此没有提取脚本。

更新:

<script type="text/javascript" src="/jwplayer/jwplayer.js"></script> 
<script type="text/javascript">jwplayer.key="KEYHERE";</script>
<div id='videoPlayer'></div>
<script type='text/javascript'>
  jwplayer('videoPlayer').setup({
   file: 'VIDEO LOCATION HERE',
   autostart: "true",
    width: "100%",
    height: "100%",
    image: "IMAGE LOCATION HERE"

  });
</script>

这就是iframe HTML的样子。我的实际目标是提取iframe上的最后一个脚本,以便我可以替换在某些条件下呈现的文件

1 个答案:

答案 0 :(得分:2)

跨域完全是一个问题,你无论如何都不会被授予对iframe src的访问权限。您已从iframe向域发出公开请求,根据浏览器的不同,您将遇到多个安全障碍。

如果您设置document.domain ='mydomain.com';在您的父页面和您在iframe中从另一个域请求的页面中,您可能会想到它但是您必须拥有相同的顶级域名(不同的子域将起作用),这仍然无法在Internet Explorer中按预期工作从我的经验来看。浏览器试图保护的安全问题是跨站点脚本攻击,每个浏览器都会以不同的方式进行。