指导浏览器动作的,对服务器端完全无用

优采云 发布时间: 2021-06-28 05:18

  指导浏览器动作的,对服务器端完全无用

  # 用于引导浏览器动作,在服务器端完全没用。因此,# 不收录在 HTTP 请求中。

  比如访问下面这个网站,浏览器实际发送的请求是这样的:

  GET /index.html HTTP/1.1

Host: www.example.com

  三、#后面的字符

  出现在第一个 # 之后的任何字符都将被浏览器解释为位置标识符。这意味着这些字符都不会发送到服务器。

  比如下面这个网址的初衷是指定一个颜色值:,但是浏览器实际发送的请求是:

  GET /?color= HTTP/1.1

Host: www.example.com

  四、改#不触发网页重新加载

  单次更改#后的部分,浏览器只会滚动到对应位置,不会重新加载网页。

  例如,如果您将#location1 更改为#location2,浏览器将不会再次向服务器请求index.html。

  五、改#会改变浏览器的访问历史

  每次更改#后的部分,都会在浏览器的访问历史中添加一条记录。使用“返回”按钮返回到之前的位置。这对 ajax 应用程序特别有用。可以用不同的#值来表示不同的访问状态,然后给用户一个链接来访问某个状态。值得注意的是,以上规则对IE 6和IE 7无效,不会因为#的变化而增加历史记录。

  六、window.location.hash 读取#value

  属性 window.location.hash 是可读可写的。阅读时,可以用来判断网页的状态是否发生了变化;写入时会创建访问历史记录,无需重新加载网页。

  七、onhashchange 事件

  这是一个新的 HTML 5 事件。当#value 发生变化时,将触发此事件。 IE8+、Firefox 3.6+、Chrome 5+、Safari 4.0+ 支持此事件。

  共有三种使用方式:

  对于不支持onhashchange的浏览器,可以使用setInterval来监控location.hash的变化。

  八、GoogleGrabber#的机制

  默认情况下,Google 的网络蜘蛛会忽略 URL 的 # 部分。

  不过,Google 也规定,如果希望 Ajax 生成的内容被浏览器引擎读取,可以使用“#!”在 URL 中,Google 会自动将其后面的内容转换为查询字符串 _escaped_fragment_ 的值。

  比如谷歌找到了新版推特的网址:

  将自动获取另一个 URL:_escaped_fragment_=/username

  通过这种机制,Google 可以索引动态 Ajax 内容。

  注意

  AJAX= 异步 JavaScript 和 XML(标准通用标记语言的一个子集)。 AJAX 是一种用于创建快速动态网页的技术。

  2.?

  1)连接函数:例如

  http://www.xxx.com/Show.asp?id=77&nameid=2905210001&page=1

  2)清除缓存:例如

  http://www.xxxxx.com/index.html

http://www.xxxxx.com/index.html?test123123

  两个url打开的页面是一样的,只是后面有个问号,表示没有调用缓存的内容,而是考虑了一个新的地址,重新读取。

  3.&

  不同参数的垫片

  关于js获取URL信息

  设置或获取对象指定的文件名或路径。

  警报(window.location.pathname)

  将整个 URL 设置或获取为字符串。

  警报(window.location.href);

  设置或获取与 URL 关联的端口号。

  警报(window.location.port)

  设置或获取 URL 的协议部分。

  警报(window.location.protocol)

  设置或获取href属性中井号“#”后的部分。

  警报(window.location.hash)

  设置或获取位置或 URL 的主机名和端口号。

  警报(window.location.host)

  设置或获取 href 属性中问号后面的部分。

  警报(window.location.search)

  获取变量的值(截取等号后的部分)

  var url = window.location.search;

  // alert(url.length);

  // alert(url.lastIndexOf('='));

  var loc = url.substring(url.lastIndexOf('=')+1, url.length);

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线