And*_*nks 29 url internet-explorer internet-explorer-9
以前版本的Internet Explorer在超过2,083个字符的Web地址上出现错误(请参阅http://support.microsoft.com/kb/208427).同时,Firefox,Opera和Safari可以处理至少80,000个.
版本9带来了许多改进.URL长度是其中之一吗?
Far*_*ray 18
不是最准确的答案,但它看起来像地址栏中的2083个字符和链接后的5165个字符.
(不是官方的,只是将带有41,000个字符的URL插入到测试HTM文件中,并使用Javascript查询URL长度.)
更新:
要重现测试,请创建一个包含HREF属性长度为6000个字符的锚元素的HTML文件.在浏览器中打开文件,然后单击链接.然后弹出控制台并检查window.location.href.length.
今天在IE9中执行此过程后,它将长度报告为5165个字符.如果我通过地址栏手动加载相同的URL,它会报告2083个字符.
为了它的价值,IE似乎在发送请求之前截断了URL.如果我在锚点的HREF属性中放置了24,000个字符的URL,IE将跟随该链接,但结果页面报告的URL长度为5165个字符.在Chrome中使用相同的链接会导致我的测试服务器发出HTTP 414响应.
我在网络浏览器9的网址中获得了5120个字符.
绝不是一个明确的测试,但下面演示了一个快速检查锚标记中href属性的url长度.
<html>
<head>
<script type="text/javascript">
function init() {
var anchor = document.getElementById('anc');
var valid = true;
var url = 'http://google.com/?search=';
var count = url.length;
while(valid) {
url = url + '1';
anchor.href = url;
count++;
valid = anchor.href == url;
if(count > 100000) {
alert('Test reached 100,000, stopping...');
valid = false;
}
}
alert('Complete, count = ' + count);
}
</script>
</head>
<body onload="init()">
<a id="anc" href="http://google.com/">Test</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26308 次 |
| 最近记录: |