使用prompt()我生成一些html,并且需要知道我可以在弹出窗口中放入的最大长度。
我在规范中找不到任何关于此的内容,想知道是否有人可以提供帮助
答案 0 :(得分:8)
如果有人感兴趣,这里有一些现实世界的数字。如果您有任何更多,请添加更多。
在浏览器控制台中使用以下代码:
s = prompt("a", Array(SOME_NUMBER).join("0")); s.length;
答案 1 :(得分:2)
ECMAScript编程语言规范未指定任何最大值 长度。最大长度将是特定于实现的,即基于可用内存。
答案 2 :(得分:0)
这是因为规范中的prompt()没有最大长度。为了限制长度,您需要在输入结果后检查结果的长度。
答案 3 :(得分:0)
karthick响应是正确的,但您可以通过这种方式手动检查输入提示的长度,强制用户只输入少于一定数量的字符,或取消:
var maxLength = 25;
var userData = -1;
while (userData == -1 || (userData != null && userData.length > maxLength)) {
userData = window.prompt('Please enter some data. It should be no more than ' + maxLength + ' characters in length', ');
}
答案 4 :(得分:0)
我在Chrome 72上进行了测试,我能够在prompt
中输入超过5万个字符。
答案 5 :(得分:-2)
试试这个:
var rep = "+" ;
while (rep != null)
{
// document.write(rep.length + " " + rep + "<br>") ; // alternate code
document.getElementById("res").innerHTML = rep.length + " " + rep + "<br>" ;
rep = prompt("Input length was : " + rep.length, rep + rep);
}
只要您回复“取消”,导航器就会显示最后一个输入长度和 相应的字符串。在262144之后取消。然后进一步测试。 对于非常大的长度,刷新显示可能需要很长时间。 我没有实际证明显示的字符串具有正确的长度。 在262144“+”的情况下,我开始在视觉上统计这个字符串,但是我在32个小时之后放弃了这个游戏(开玩笑)。