Javascript 函数 - 参数长度

Javascript function - parameter length

本文关键字:参数 函数 Javascript      更新时间:2023-09-26

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

<a href="javascript:redirect('param1','param2','http://google.com');">Do this</a>
在这种情况下,重定向

()函数按预期被调用,并重定向到第三个参数中的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');">

与其将 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更好的方法来识别锚点,那么有更好的解决方案。

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