Javascript 在iframe中提取脚本
我正在渲染来自不同域的iframe。iframe仅包含脚本(例如) 是否有方法提取所述iframe的内容或至少提取该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
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所需的脚本,以便对内容或脚本进行更改