Firefox中的动态脚本加载和错误

时间:2014-09-16 21:04:19

标签: javascript firefox

Firefox中的奇怪问题(Chrome,IE(至少11个)和Safari没有问题)。以下代码打破了页面并清空了网络探查器,页面源等...

<script>
  var mainScriptSrc = '/scripts/app/site.js';
  var jQuerySrc = '/scripts/vendor/jquery/jquery.js';
</script>
<script>
  function loadMain(){document.write('<script src="'+mainScriptSrc+'"><\/script>');}
  window.jQuery || document.write('<script src="'+jQuerySrc+'" onload="loadMain()"><\/script>')
</script>

有什么突出的奇怪吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

当我通过Firefox中的devtools运行该代码时,我得到SecurityError: The operation is insecure.

您可以尝试这样做:

function addScript(path, onload) {
  var script = document.createElement("script");
  script.src = path;
  if (onload) {
    script.onload = onload;
  }
  document.body.appendChild(script);
}
function loadMain(){
  addScript("/scripts/app/site.js");
}
window.jQuery || addScript("/scripts/vendor/jquery/jquery.js", loadMain);

请注意,使用该逻辑(这是您在原始代码中执行的操作),loadMain()仅在jQuery尚未加载时运行。我不知道这是不是你想要的......