JS獲取當前指令碼的路徑
阿新 • • 發佈:2018-12-14
今天遇到一個很坑的bug,有一個功能在IE10和chrome上是好的,在Edge上是壞的,最後發現原來是外部引用的指令碼庫中的一個功能函數出錯導致的。
還有一點,Edge的圖片和指令碼載入失敗,控制檯竟然不報錯!!!這真的是個巨坑啊!!!
好了,下面直接給出結果
function getScriptPath(name){ var jsPath = document.currentScript ? document.currentScript : function(){ var src = '', scriptList = document.scripts; for( var i = scriptList.length; i > 0 ; i-- ){ if( scriptList[i].src.indexOf(name) > -1 ){ src = scriptList[i].src; break; } } return src; }(); return jsPath.substring(0, src.lastIndexOf('/')+1);; }
其中document.currentScript可以直接獲取當前指令碼的路徑,但是目前測試IE不支援,在IE下只能使用document.scripts物件遍歷獲取。