gpt4 book ai didi

javascript - 获取 javascript src 位置/主机名

转载 作者:行者123 更新时间:2023-11-30 06:09:37 25 4
gpt4 key购买 nike

当嵌入一个将回调到原始源但 js 驻留在不同域中的脚本时,是否有任何推荐的解决方案。有时其他客户端会在不同的域中,我不能依赖于获取文档或窗口位置。

目前,我一直在使用这个,但对这个解决方案不太满意。

var host = window.location.hostname;
if(host.indexOf('.devols.') > -1){
return (('https:' == document.location.protocol) ? 'https://' : 'http://') + host; // return dev or localhost
} else if(host.indexOf('.qaols.') > -1){
return 'qa environment';
} else {
return 'prod environment';
}

更新:

到目前为止,我一直在玩这个:

var scriptLocation = '';
var SCRIPT_NAME = 'example.js';
var scripts = document.getElementsByTagName('script');
for(var i=0;i<scripts.length;i++){
var src = scripts[i].getAttribute('src');
if(src){
var index = src.lastIndexOf(SCRIPT_NAME);
if((index > -1) && (index + SCRIPT_NAME.length == src.length)) {
scriptLocation=src.slice(0, src.indexOf('/my_script_location/'));
break;
}
}
}
return scriptLocation;

因此,在页面加载代码后,代码循环遍历脚本标记数组并确定位置,这样 api 就可以进行回调,而无需弄清楚 url 等...

最佳答案

您最好从服务器传递此信息,并在提供页面时将其填充到 JavaScript 变量中。

关于javascript - 获取 javascript src 位置/主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/401342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com