向父iframe添加代码的javascript
我已经为此挣扎了一段时间,我正试图从iframe向主窗口添加一个函数,但我能让它工作的唯一方法是在主窗口中提供一个eval函数并传递一个字符串,例如:向父iframe添加代码的javascript,javascript,Javascript,我已经为此挣扎了一段时间,我正试图从iframe向主窗口添加一个函数,但我能让它工作的唯一方法是在主窗口中提供一个eval函数并传递一个字符串,例如: --main window-- function evalcmd(c){ eval(c); } --iframe-- parent.evalcmd('alert(location.href)'); 理想情况下,我想要这种形式的东西 --iframe-- parent.myalert=new Funct
--main window--
function evalcmd(c){
eval(c);
}
--iframe--
parent.evalcmd('alert(location.href)');
理想情况下,我想要这种形式的东西
--iframe--
parent.myalert=new Function('alert(location.href);');
但是,这似乎是从iframe的上下文调用的,即警报引用iframes文件名
抱歉,新编辑
该警报试图显示新函数在其中运行的上下文(如果有)
--main window--
<div id="txt1" style="left:50px;">somettxt</div>
--iframe--
parent.movetxt=new Function("document.getElemenById('txt1').style.left='35px';");
好的,
有没有一种方法不使用eval就可以实现此功能?
我基本上有很多代码我想添加到父窗口,所以不想通过添加父窗口。要在所有引用上使用varname/functionname,您应该能够执行以下操作
parent.alert("your message");
parent.alert(parent.location.href + "\n" + window.location.href);
parent.alert("your message");
parent.alert(parent.location.href + "\n" + window.location.href);