簡體   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