需求介绍

项目中需要外提供一个获取登录状态的jsonp接口,并且需要封装成一个js方法给使用者调用。

本文介绍如何根据当前环境请求对应的jsonp接口地址(开发,测试,生产,等其他环境)。

实现

获取当前js文件被引用的环境代码如下:

varfileOrigin=function(){varscripts=document.getElementsByTagName("script"),fileName='myFile.js',filePath='';for(vari=scripts.length;i;i--){if(scripts[i-1].src.indexOf(fileName)>=0){filePath=scripts[i-1].src;}}if(filePath.match(/https?\:\/\/(.*?)\//)){returnfilePath.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/'