用javascript将script元素附加到头部;铬不能工作

appending script element to the head with javascript doesn't work in chrome

本文关键字:头部 不能 工作 javascript script 元素      更新时间:2023-09-26

在我的主页中,我想检查一下,如果还没有加载,请包含一个edit_profile.js脚本

$(function(){

  if (typeof is_editprofilejs_loaded == "undefined") {
       alert('undefined');
       var e = document.createElement("script");
       e.src = base_url+"js/edit_profile.js";
       e.type = "text/javascript";
       document.getElementsByTagName("head")[0].appendChild(e);
  }
  else
  {
      alert('its loaded.');
  }

})

在我的script.js中,我有

   $(function(){
        var is_editprofilejs_loaded = true ;
        alert('now its loaded ! ');
       //some code 
   })

所以当我在firefox中运行代码时,我会收到以下消息

1 - undefined
2 - now its loaded ! 

但在chrome中,我只得到

1 - undefined

当然,附带页面中的代码不起作用怎么了?

为什么在DOMready函数中有这些函数?

这也是失败的原因:您的变量is_editprofilejs_loaded是该匿名函数的本地变量,永远不会在主文件的函数中定义。

  • 删除不必要的功能和/或
  • 通过分配window.is_editprofilejs_loaded = true使变量显式全局,并通过if (window.is_editprofilejs_loaded)进行检查

顺便说一句,你的script.js最后缺少了一个);——不确定是否只有一个c&p错误