0

在我的主页中我想检查,如果它还没有加载,包括一个 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

当然,包含页面中的代码不起作用有什么问题吗?

4

1 回答 1

1

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

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

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

顺便说一句,你到底script.js错过了一个);- 不确定是否只是一个 c&p 错误

于 2012-09-11T19:34:21.733 回答