javascript将代码添加到父iframe

时间:2011-10-17 21:19:55

标签: javascript

一段时间以来一直在努力解决这个问题,我试图从iframe向主窗口添加一个函数,但我能让它工作的唯一方法是在主窗口中提供一个eval函数并传递给它字符串,例如:

--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';");

这会抛出一个错误,在iframe中找不到元素'txt1' 然而,

--main window--
function evalcmd(c){
  eval(c);
}
--iframe--
parent.evalcmd("document.getElemenById.('txt1').style.left='35px';");

会好的, 有没有办法在不使用eval的情况下拥有此功能? 我基本上有很多代码要添加到父窗口,所以不想要通过添加父窗口。到所有参考文献的

1 个答案:

答案 0 :(得分:0)

你应该能够做到

parent.alert("your message");
parent.alert(parent.location.href + "\n" + window.location.href);