从JavaScript插入JavaScript代码

时间:2012-04-27 18:36:55

标签: javascript dom

我需要通过jsonp like方法获取html代码,并在div元素上显示。这适用于简单的html,如图像,文本等。但现在代码可以内容一个JavaScript标签,需要在div上插入,但javascript,不运行,我用一个例子恢复它:

var div = document.getElementById('mydiv');

div.innerHTML = '<scipt type="text/javascript"> console.log('I run!'); </script>';

这不起作用,我也在探测:

var otherdiv = document.createElement('div');

otherdiv.innerHTML = '<scipt type="text/javascript"> console.log('I run!'); </script>';

div.appendChild(otherdiv);

但是也不行。

如何在JavaScript运行时插入代码?

2 个答案:

答案 0 :(得分:1)

最直接的方法是提取所有JavaScript和eval

您可以使用以下正则表达式提取JavaScript:

var match = html.match(new RegExp("<script[^>]*>(.+)</script>"));
console.log(match);

这远非执行JavaScript的最佳方式,非常容易出错且可能不安全。我强烈建议反对。

答案 1 :(得分:0)

您应该使用像LAB,yep / nope或Frame.js这样的脚本加载器。浏览器具有内置限制,脚本加载是在页面上包含脚本的最佳实践。

你也必须逃避单引号。

console.log(\'I run!\');