我有一段包含一些JavaScript的HTML
<iframe id=’myiFrame’><div id=’targetDiv’></div></iframe>
通过获取上述html的Ajax调用将其加载/注入iFrame中的目标div。
<iframe id=’myiFrame’><div id=’targetDiv’><div id=’abc’> Hello World</div><script> function myfunction() { alert (“hi”);}</script></div></iframe>
所以我有类似
的东西(function(myframework, undefined ) {
myframework.ButtonClickMethod = function()
{
//this is the call to the dynamically loaded method
//but how do I find / reference this method
myfunction();
}
}(document.myframework = document.myframework || {} ));
这一切都有效
我的问题是。如何在稍后的某个时间点执行myfunction()。如何查找/引用嵌入式JavaScript。 我知道这个问题中有很多ifs和buts。请假设DOM准备就绪等。 我将尝试从已经加载的JavaScript中执行myfunction()
var data = [{ F: 'a', T: 'z', V: 1 }, { F: 'b', T: 'z', V: 2 }, { F: 'c', T: 'z', V: 3 }],
nodes = [],
hash = Object.create(null);
data.forEach(function(element) {
['F', 'T'].forEach(function (k) {
hash[element[k]] || nodes.push({ name: element[k] });
hash[element[k]] = true;
});
});
nodes.sort(function (a, b) { return a.name.localeCompare(b.name); });
console.log(nodes);
注意:在加载所有HTML和脚本后,一次点击一下按钮就会调用myframework.ButtonClickMethod。
由于我无法控制注入HTML / Javascript的位置,因此问题也变得复杂。它必须进入目标div。
我可以使用JQuery,但更喜欢vanilla JavaScript。
另外,请忽略问题中的任何拼写错误,我在Word中键入它,它会被放入&#39;等等。这是我感兴趣的机制。