Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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 在iframe中提取脚本_Javascript_Jquery_Html_Iframe - Fatal编程技术网

Javascript 在iframe中提取脚本

Javascript 在iframe中提取脚本,javascript,jquery,html,iframe,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="t

我正在渲染来自不同域的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>

jwplayer.key=“KEYHERE”;
jwplayer('videoPlayer')。设置({
文件:“此处的视频位置”,
自动启动:“正确”,
宽度:“100%”,
高度:“100%”,
图像:“图像位置在此”
});

这就是iframe HTML的外观。我在这里的实际目标是提取iframe上的最后一个脚本,这样我就可以替换在特定条件下呈现的文件。

跨域完全是一个问题,正如您所说,您无论如何都无权访问该iframe src。如果您已从iframe向域发出公开请求,则根据浏览器的不同,您将面临多个安全障碍


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

确实有
$('iframe script')。text()
。工作?它不会返回任何内容。发布iframe内容的片段。谢谢@Saravana我已经更新了上面的问题。文档是否在iframe中来自其他域?如果是这样,请看这里:进一步阅读。。我认为跨域确实是一个问题。不管怎样,我有什么办法可以做到这一点吗?谢谢你的回答不幸的是,你想不惜一切代价避免这种解决方案。这就是我的经验,这是问题的第一步,你拥有或访问这两个域吗?我没有拥有另一个域,因为它是由我们的另一个附属公司拥有的,所以如果我想访问它,我可以与他们交谈。即使有访问权限,你仍然会遇到不同浏览器的障碍,我只会尝试加载iframe,复制提取或重新加载iframe所需的脚本,以便对内容或脚本进行更改