一个普通的javascrip函数,只有一个入口参数
function test(info)
<img none\';=\"\" document.getelementbyid(\'_20_37_open_text\').style.display=\"none\" ;=\"\" document.getelementbyid(\'_20_37_closed_image\').style.display=\"inline\" document.getelementbyid(\'_20_37_closed_text\').style.display=\"inline\" ;\"=\"\" alt=\"\" src=\"http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif\" align=\"top\" style=\"border: 0px; max-width: 100%; \">{
alert(info);
}
页面用是aspx代码生成,调用test函数的入口参数可能是一个很长的字符串,同时页面上根据一个数据集构造很多如下所示的标签。
<a href=\"javascript:test(\'ssssss...这里很长..ssssss\')\">test</a>
页面生成后有些链接可以点,有些不能点。用substring大致对入口参数的值处理了一下,发现不能超过2083个字符。难道js的函数参数有长度限制?从来没有听说过。也没有查到相关的说法。
试着把<a>标签,换为<button>然后再clik事件里调用这个js函数,参数传了全部的长度,发现没有错误了...
这下顿悟,原来是<a href>惹的祸,<a href>是使用get传递参数,url无论如何都有2k的长度限制。即便是在这种情况下掉js函数也不能超过。
本文地址:https://www.stayed.cn/item/25470
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我