私は、サイト固有のサブルーチンを一般的なスクリプトで実行するために、次の動的スクリプト手法を使用しています。
siteExtras : function (cid, extras) {
var script = document.createElement("script");
script.src = 'https://' + cid + '.mysite.com/' + cid + "_extras.js?" + extras;
script.type = 'text/javascript';
var h = document.getElementsByTagName("script")[0];
h.parentNode.insertBefore(script, h);
},
したがって、次の呼び出しが与えられた場合
this.siteExtras('cycles','concept=tandem');
したがって、script.srcは次のようになります
https://cycles.mysite.com/cycles_extras.js?concept=tandem
ここで、cycles は、mysite.com で作成したクライアント固有のサブドメインです。
私が抱えている問題は、cycles_extras.js が独自の検索文字列を読み取ることができると想定していたことです。
//cycles_extras.js
function getParameterByName(name) {
var args = location.search.substr(1).split('&');
for (var i = 0; i < args.length; i++) {
var parts = args[i].split('=');
if (name === parts[0]) {
return unescape(parts[1]);
}
}
return "";
}
var concept = getParameterByName('concept');
...
ただし、cycles_extras.js が実行されると、https://cycles.mysite.com/cycles_extras.js?concept=tandem URL からではなく、ブラウザから location.search が取得されます。
私はここで不可能を試みていますか?それとも何か足りない?