我正在尝试使用 XMLHttpRequest 和 eval 加载 underscorejs
function includeScriptSync(scriptUrl)
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", scriptUrl, false);
xmlhttp.onreadystatechange = function()
{
if ((xmlhttp.status == 200) && (xmlhttp.readyState == 4))
{
eval(xmlhttp.responseText);
}
};
xmlhttp.send();
}
includeScriptSync("jquery.min.js");
includeScriptSync('underscore-min.js');
includeScriptSync('jquery.watermark.min.js');
includeScriptSync('polyfills.js');
console.log(_); //here jQuery is defined but underscore is not defined(i.e. typeof of _ === "undefined")
但最后下划线没有定义,尽管 jQuery 已加载。
为什么下划线js加载失败的任何想法?
我正在使用下划线 1.5.1 和 jQuery 1.9.1
编辑:我为 jQuery 添加了另外 2 个插件,它们已加载。
$(this).watermark
已定义,对于 polyfill 也是如此