javascript - 提取 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="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 上的最后一个脚本,以便我可以替换在某些条件下呈现的文件

最佳答案

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

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

关于javascript - 提取 iframe 内的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18710802/

相关文章:

javascript - 如何在 Canvas 上捕获按键事件而不干扰网站的其余部分?

javascript - 将 jQuery 事件与 Raphael/Mapael 链接在一起

javascript - html5 视频 "ended"事件在 chrome 和 IE 中不起作用

javascript - 与 Chai 和 Sinon 一起测试 promise 的服务

javascript - 如何在移动时添加拼图部分阴影

html - 输入类型 ="time"超过 24 小时

javascript - 在 YDN-DB 中搜索多个值

android - Ajax 请求不适用于 cordova android 应用程序

javascript - 通过 jQuery.fn.data() 分配变量将保留对原始标记值的引用?

Internet Explorer 中的 JQuery 无法解析字符串 html