當嵌入一個腳本來回調原始源,但js駐留在不同的域中時,是否有任何推薦的解決方案。有時候,其他客戶會處於不同的域,我不能依靠獲取文檔或窗口位置。獲取javascript src的位置/主機名
目前,我一直在使用這個,但不太滿意這個解決方案。
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可以進行回調,而無需找出網址等。
原因是因爲js文件的行爲像一個小部件,需要回調它的原始源。 – ishortman 2008-12-30 20:41:45