javascript - 如何让 JavaScript 定位到 iframe?

标签 javascript html iframe

我有一个包含 2 个 iframe 的页面,我想知道是否可以在父窗口中设置影响 iframe 的链接。

我知道如何创建一个普通链接来更改 iframe 中的页面,但我需要创建 I,它会将 JavaScript 激活到 iframe 中。

// The JS | normally in one line
javascript:var%20KICKASSVERSION='2.0';
var%20s%20=%20document.createElement('script');
s.type='text/javascript';document.body.appendChild(s);
s.src='//hi.kickassapp.com/kickass.js';
void(0);

如果你将其放入地址栏中,它可以在不更改页面的情况下工作,但我想知道这在 iframe 中是否可行。谢谢!

最佳答案

查看您的代码,最简单的方法是执行以下操作:

var iframe=/*DOM REFERENCE TO YOUR IFRAME, for example:*/document.getElementById('myIframe');
iframe.src="javascript:var%20KICKASSVERSION='2.0';var%20s%20=%20document.createElement('script');s.type='text/javascript';document.body.appendChild(s);s.src='//hi.kickassapp.com/kickass.js';void(0);";

但是,更简洁的方法如下:

var myLink=document.getElementById('myLink');

myLink.addEventListener('click',function(evt){
 var myFrame=document.getElementById('myFrame');
 var win=myFrame.contentWindow;

 win.KICKASSVERSION='2.0';
 var s = win.document.createElement('script');
 s.type='text/javascript';win.document.body.appendChild(s);
 s.src='//hi.kickassapp.com/kickass.js';

 evt.preventDefault();
}

请注意,在所有情况下 same origin policy已强制执行。

关于javascript - 如何让 JavaScript 定位到 iframe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10767568/

相关文章:

javascript - 使用静态内容填充输入类型文本区域(无需ajax调用)

javascript - ng-repeat 中的 Angular js 动态绑定(bind)

javascript - 在 jQuery 中,在页面加载时滑动没有动画的元素?

javascript - 下拉菜单在CSS中折叠

javascript - 将 html 放入 iframe(使用 javascript)

javascript - 在 angularjs 中的非测试代码中使用 spy

javascript - 如何通过javascript重置firefox浏览器中的表单

html - 垂直居中元素,新元素应添加到新行中

javascript - 文件下载后 iframe onload 不执行?

javascript - GWT 阻止来源为 "http://localhost"的框架访问跨来源框架