Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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_Html_Iframe - Fatal编程技术网

如何将JavaScript目标设置为iframe?

如何将JavaScript目标设置为iframe?,javascript,html,iframe,Javascript,Html,Iframe,我有一个包含2个iframe的页面,我想知道是否可能在父窗口中有影响iframe的链接 我知道如何创建一个普通的链接来更改iframe中的页面,但我需要做的是,它将JavaScript激活到iframe中 // The JS | normally in one line javascript:var%20KICKASSVERSION='2.0'; var%20s%20=%20document.createElement('script'); s.type='text/javascript';do

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

我知道如何创建一个普通的链接来更改iframe中的页面,但我需要做的是,它将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中是否可行。谢谢

HTML iframe有一个
contentDocument
属性(请参阅),允许您操作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();
}

请注意,在所有情况下都是强制执行的。

我不清楚您是否愿意:1。获取iframe2的内容。更改iframe的内容,3。更改iframe的链接html页面。很抱歉没有尽快回复您,但我一直忙于工作。我不想做这些事情。我只想在iframe中激活一些javascript。我很确定你也可以用flash来做。
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();
}