我需要获得一个类似于jsonp的方法的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运行的地方插入代码?
发布于 2012-04-28 02:45:15
最直接的方法是提取所有JavaScript并对其执行eval。
可以使用正则表达式提取JavaScript,如下所示:
var match = html.match(new RegExp("<script[^>]*>(.+)</script>"));
console.log(match);这远不是执行JavaScript的最佳方式,非常容易出错,而且可能不安全。我强烈建议你不要这么做。
发布于 2012-04-28 02:41:37
您应该使用诸如LAB、yep/nope或Frame.js之类的脚本加载器。浏览器有内置的限制,脚本加载是在页面上包含脚本的最佳实践。
您还必须转义单引号。
console.log(\'I run!\');https://stackoverflow.com/questions/10356029
复制相似问题