【发布时间】:2013-04-18 03:30:38
【问题描述】:
This link (archived version) 描述了如何将脚本中的代码注入 iframe:
function injectJS() {
var iFrameHead = window.frames["myiframe"].document.getElementsByTagName("head")[0];
var myscript = document.createElement('script');
myscript.type = 'text/javascript';
myscript.src = 'myscript.js'; // replace this with your SCRIPT
iFrameHead.appendChild(myscript);
}
没关系,但是如果我想将一个函数对象插入到 iframe 中并让它在 iframe 上下文中执行,该怎么办?假设我有:
function foo () {
console.log ("Look at me, executed inside an iframe!", window);
}
我想在 iframe 中插入 foo 的代码? (函数 foo 可能是动态加载的,我不能只用引号括起来)
我天真地尝试过:
var scriptFooString = "<script>" + foo.toString() + "</script>"
获取函数内部的代码,但是
- 我不知道如何将它插入到 iframe HEAD 中(也许用 jquery?)
- 不知道对不对
- 我不知道如果函数比这更复杂会发生什么
- 我不知道
scriptFooString中的双引号和单引号会发生什么情况@
有什么提示吗?
【问题讨论】:
标签: dom iframe head javascript