2012-05-24 59 views
0

我从超链接调用javascript函数,如下所示。Javascript函数 - 参数长度

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

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

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

这里是冗长的网址参数的一个例子

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

可能不是字符的数量,但特定的字符会打破你的功能?提供URL和该函数的实现。顺便说一句,更好的绑定点击处理程序 –

+0

@Darhazer ..谢谢你的评论..这里是其中一个网址..'http:// localhost:9083/xxx/xxxx/xxx/Xxxx/redirectApply.do?token = 9BsPtrGQPEYWv6dvbP9hsX9skeghTHnonkKZtsqrkZXSf7gKqKRYdo2i6CpcLOWxroqrWEDhyosk%0D%0A1aD1tQ0OBHHfsVjPKb%2B1kSFzjCg8lKyoGropGWc%2Bc7oCT8%2BYItwX” – RKodakandla

+0

我记得我看到了类似的问题,并删除所有的空格从JavaScript属性(在你的情况下逗号后)帮助(如浏览器有时决定,这可能不是所有的属性如果它这么长,并损坏JavaScript)。在javascript本身没有限制这个低限 –

回答

0

而不是嵌入在href属性中的JavaScript正确的,你可以动态地将其固定。

例:

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

然后:

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

如果您使用的是JavaScript库如jQuery,或者如果你有识别比ID锚更好的方法,有解决方案更好

+0

这个URL是动态生成的。我如何将它传递给javascript函数? – RKodakandla

0

而不是使用javascript:重定向,我会动态地更改标签的href。这允许浏览器使用“在新标签中打开链接”,按住Ctrl键或类似的功能,并且可能不会有你提到的问题。这也让用户看到他们将鼠标悬停在链接上的位置。

+0

我在JavaScript函数中有一些逻辑决定用户是否应该被重定向。 – RKodakandla