0

ページにリンクがあります。リンクをクリックすると、必要な URL でポップアップが表示されます。window.open コードは次のとおりです。

<a href="javascript:;" onclick="window.open('/action.do?name=aravind&age=19&url=http://astrik.com/click?id=613*B&offerValue=2.9','chatWindow','menubar=1, scrollbars=yes, resizable=yes, width=600,height=450');return false;">Click here</a>

上記のリンクをクリックすると、http://astrik.com/click?id=613 *B までの URL でポップアップが開き、offerValueがポップアップの URL に表示されません。URL に offerValue を表示する必要があります。 offerValue が表示されない理由。

4

3 に答える 3

0

使用する前に、URLのデータ部分をエスケープする必要があります。この場合、データ部分のURLは、URLのアンパサンド(&)によってバグが発生します。

var url = encodeURIComponent('http://astrik.com/click?id=613*B&offerValue=2.9');


<a href="javascript:void(0);" onclick="window.open('/action.do?name=aravind&age=19&url=' + url,'chatWindow','menubar=1, scrollbars=yes, resizable=yes, width=600,height=450');return false;">Click here</a>

(または、アンパサンドを交換するだけですが、今はわかりません)

于 2012-09-26T13:53:27.897 に答える
0

指定された URL に ? 引数リストの開始を示します。各引数は . で区切られます&。したがって、パーサーの場合、指定された引数リストは次のようになります。

name=aravindage=19url=http://astrik.com/click?id=613*BおよびofferValue=2.9。それらはすべて への要求に属し/action.doます。

%26次のようなURL エスケープ コードを使用して、最後の amp をエスケープする必要があります。

/action.do?name=aravind&age=19&url=http://astrik.com/click?id=613*B%26offerValue=2.9

最後の引数を astrik URL に「バインド」します。たぶん、2番目をエスケープする必要がありますか?と%3F

于 2012-09-26T14:06:23.343 に答える
0

次のことを試してください。

<a href="javascript:;" onclick="window.open('/action.do?name=aravind&age=19&url=http://astrik.com/click?id=613*B%26offerValue=2.9','chatWindow','menubar=1, scrollbars=yes, resizable=yes, width=600,height=450');return false;">Click here</a>

「url」値のパラメーターをURL エンコードする必要があります。そうしないと、元の URL に追加されます。

于 2012-09-26T13:50:21.470 に答える