繁体   English   中英

在chrome中无法将脚本元素附加到使用javascript的头部

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

在我的主页上,我想检查一下它是否尚未加载,包括一个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缺少a ); 最后-不确定是否只有C&P错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM