設定: これまで、クライアント JavaScript タグが任意のドメインの任意の Web ページで機能するように、JavaScript src を介していくつかの既知の GET 変数を正常に渡すことができました。
<script id="gbScript" type="text/javascript" src="http://www.mydomain.com/myremoteapp/scripts/gb.js?clientid=50&domain=someclientdomain.com"></script>
しかし、ソース URL にもう 1 つの変数を追加する必要があり、クライアントのブラウザーにある URL から変数を取得する必要があります。
たとえば、次の Web ページ アドレスから「p」の値を取得する必要があります: http://www.yourwebsite.com/?p=2
...そして、次のように、クライアント スクリプトの url 変数文字列に追加します。
<script id="gbScript" type="text/javascript" src="http://www.mydomain.com/myremoteapp/scripts/gb.js?clientid=50&domain=someclientdomain.com&p=2"></script>
制限: サーバー側のコードを使用できません。これは、クライアントがこのスクリプトを php ページ、aspx ページ、または単純な古い html ページに追加するかどうかわからないためです。
試したこと: 2 つの連続したスクリプトを試しました。最初は変数を作成し、次にその変数を 2 番目のスクリプトに渡そうとしました。
<script type="text/javascript">var url = escape(window.location);</script>
<script id="gbScript" type="text/javascript" src="http://www.mydomain.com/myremoteapp/scripts/gb.js?clientid=50&domain=someclientdomain.com&p="+url+></script>
残念ながら、スクリプト タグの src 部分は、javascript 変数を尊重または認識していないようです。また、スクリプトが使用するリモートまたはホストされたページ( php) では、クライアントの URL はまったく表示されず、クライアント アドレスの URL 変数はほとんど表示されません。
解決済み: リモート gb.js スクリプト コードに、以下を追加しました。
var clientLocation = window.location;
これにより、必要に応じて解析できる URL 全体が得られます。