我正在从其他域渲染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上的最后一个脚本,以便我可以替换在某些条件下呈现的文件。
答案 0 :(得分:2)
跨域完全是一个问题,你无论如何都不会被授予对iframe src的访问权限。您已从iframe向域发出公开请求,根据浏览器的不同,您将遇到多个安全障碍。
如果您设置document.domain ='mydomain.com';在您的父页面和您在iframe中从另一个域请求的页面中,您可能会想到它但是您必须拥有相同的顶级域名(不同的子域将起作用),这仍然无法在Internet Explorer中按预期工作从我的经验来看。浏览器试图保护的安全问题是跨站点脚本攻击,每个浏览器都会以不同的方式进行。