0

我正在从超链接调用 javascript 函数,如下所示。

<a href="javascript:redirect('param1','param2','http://google.com');">Do this</a>

在这种情况下,redirect() 函数按预期调用并重定向到第三个参数中的 url。但是如果 url 参数很大(比如说 >200 个字符),则永远不会调用 javascript 函数。参数长度有限制吗?我确实需要 URL 这么大,因为我传递的加密参数很少,而且它们很大......

- - - - -编辑 - - - - -

这是一个冗长的 URL 参数示例

<a href="javascript:redirect('A-0', '07', 'http://localhost:9083/xxxxx/aaa/bbbb/ccccc/redirectApply.do?token=9BsPtrGQPEYWv6dvbP9hsX9skeghTHnonkKZtsqrkZXSf7gKqKRYdo2i6CpcLOWxroqrWEDhyosk%0D%0A1aD1tQ0OBHHfsVjPKb%2B1kSFzjCg8lKyoGropGWc%2Bc7oCT8%2BYItwX');">
4

2 回答 2

0

我不会使用 javascript:redirect,而是动态更改 a 标签的 href。这允许浏览器使用“在新选项卡中打开链接”、Ctrl-单击或类似功能,并且可能不会出现您提到的问题。这也让用户在将鼠标悬停在链接上时可以看到他们要去哪里。

于 2012-05-24T21:14:34.700 回答
0

您可以动态附加它,而不是将 javascript 嵌入到 href 属性中。

前任:

<a id="example_link">Do this</a>

然后:

document.getElementById('example_link').onclick = function(){
    redirect('param1','param2','http://google.com');
    return false;
};

如果您使用的是 jQuery 之类的 JavaScript 库,或者您有比通过 ID 更好的方式来识别锚点,那么有更好的解决方案。

于 2012-05-24T20:52:09.530 回答