对 document.URL 与 location.href 区别的质疑

作者:vkvi 来源:ITPOW(原创) 日期:2008-6-23

有文说 document.URL 与 location.href 二者有两点区别:

一、重定向服务器重定向后有可能使 document.URL 变动,但 location.href 指的永远是访问该网页时用的 URL。

二、读写问题,document.URL 只读,location.href 可写。

而我测试后结果并不是这样的。

浏览器:IE7.0;DOCTYPE:XHTML 1.0 Transitional。

第一个区别测试:

一个页面 A,访问页面 A 利用 Response.Redirect(客户端重定向)重定向到页面 C。

一个页面 B,访问页面 B 利用 Server.Transfer (服务器端重定向)重定向到页面 C。

页面 C 代码如下:

alert("document.URL=" + document.URL + "\r\n" +
      "location.href=" + location.href);

访问页面 A 时,得到的结果都是 C 的 URL;访问页面 B 时,得到的结果都是 B 的 URL。也就是说 document.URL 和 location.href 在此点上无区别。

第二个区别测试:

document.URL = "D.htm";

上述代码仍将页面带到了 D.htm,说明 document.URL 并不是只读的。

总结

二者在上述两个问题上无实质性区别。

相关文章