我使用这种脚本来评估我在DOM中注入的javascript代码
function wilEval(source) {
if ('function' == typeof source) {
source = '(' + source + ')();'
}
var script = document.createElement('script');
script.setAttribute("type", "text/javascript");
script.textContent = source;
document.body.appendChild(script);
if (window.execScript) {
window.execScript(source);
}
}
它可以在IE和其他主流浏览器中运行但我的问题是要评估的代码是像这样的jquery代码$("#<?php echo "utm".$thr_id; ?>").effect("highlight", {}, 1000);
那么如何像普通的javascript代码一样评估它?感谢
P.S。 php echo只生成一个动态元素id =)
答案 0 :(得分:2)
您可以做的一件事是使用globalEval()
function wilEval(source) {
if ('function' == typeof source) {
source = '(' + source + ')();'
}
if (window.execScript) {
var script = document.createElement('script');
script.setAttribute("type", "text/javascript");
script.textContent = source;
document.body.appendChild(script);
window.execScript(source);
}else{
jQuery.globalEval(source);
}
}
答案 1 :(得分:0)
因此,您的代码不是函数,而是statement
然后,将其包裹起来:
(function () { YOUR STATEMENT }());