我有兴趣在CMS后端构建一个文本编辑器,允许用户将Javascript写入textarea并在编辑时对其进行测试。
我能想到的最接近的就是。
document.head.appendChild(document.createElement('script')).src='http://site.com/file.js';
但不是
.src='http://site.com/file.js';
我需要用textarea值填充script元素。有没有人知道如何处理这样的事情?
答案 0 :(得分:2)
我自己写了一个简单的(在IE中不起作用):http://phrogz.net/tmp/simplejs.html
答案 1 :(得分:2)
使用eval()功能。
eval(document.getElementById('wmd-input').value);
如果您要让用户在您的CMS中输入JavaScript,请确保您能够快速了解cross-site scripting (XSS)。
答案 2 :(得分:0)
我认为你应该进行ajax调用来加载页面。我推荐使用JQuery,它非常简单,并且在他们的网站上有很多例子。
它看起来像这样:
$.get('http://site.com/file.j', function(data) {
$('#txta').text(data);
});
其中'txta'是textarea的id。
如果你想在浏览器中执行脚本,你可以使用javascript eval()函数 - 但我会谨慎使用这种方法,因为它可能导致各种安全漏洞,包括跨站点脚本攻击