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 并且 offerValue 未显示在弹出窗口的 url 中。我需要在 url 中显示 offerValue。任何不显示 offerValue 的原因。

4

3 回答 3

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 回答
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=aravind, age=19,url=http://astrik.com/click?id=613*BofferValue=2.9. 它们都属于请求地/action.do

您需要使用 URL 转义码来转义最后一个 amp,%26如下所示:

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

将最后一个参数“绑定”到 astrik URL。也许它也需要逃避第二个?与%3F.

于 2012-09-26T14:06:23.343 回答