0

私は、サイト固有のサブルーチンを一般的なスクリプトで実行するために、次の動的スクリプト手法を使用しています。

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 が取得されます

私はここで不可能を試みていますか?それとも何か足りない?

4

1 に答える 1

1

ヘルプには、グローバル名前空間を使用できます。値を変数にバインドし、ウィンドウまたはドキュメント オブジェクトにアタッチします。例、

document.concept = "tandem" 

window.concept = "tandem".
于 2013-09-10T10:36:43.697 に答える