需求介紹
項目中需要外提供一個獲取登錄狀態(tài)的jsonp接口,并且需要封裝成一個js方法給使用者調(diào)用。
本文介紹如何根據(jù)當(dāng)前環(huán)境請求對應(yīng)的jsonp接口地址(開發(fā),測試,生產(chǎn),等其他環(huán)境)。
實現(xiàn)
獲取當(dāng)前js文件被引用的環(huán)境代碼如下:
var fileOrigin=function(){
var scripts=document.getElementsByTagName("script"),
fileName='myFile.js',
filePath='';
for(var i=scripts.length;i;i--){
if(scripts[i-1].src.indexOf(fileName)>=0){
filePath=scripts[i-1].src;
}
}
if(filePath.match(/https?\:\/\/(.*?)\//)){
return filePath.match(/https?\:\/\/(.*?)\//)[0];
}
//如果匹配不到,使用默認路徑
return 'https://test.com/';
}()
以下為幾組fileOrigin的值示例
<script src='https://www.aa.com/d/myFile.js'></script>
fileOrigin='https://www.aa.com/'
<script src='http://www.bb.com/myFile.js'></script>
fileOrigin='http://www.bb.com/'