• 利用javascript Location访问Url,重定向,刷新页面


    网上转来了, 方便以后查询参考

    本文介绍怎么使用javascript Location对象读和修改Url.怎么重载或刷新页面。
    javascript提供了许多方法访问,修改当前用户在浏览器中访问的url.所有的这些技术都是基于location对象的。它是作为window对象的属性。你可以生成一个包含当前url的新location对象:

    1. var currentURL = window.location;  

    在这片文章你将看到location对象的所有属性和方法,你将学到:
        * 怎么读取url不同部分
        * 怎么重定向网页
        * 怎么自动刷新或重载页面.

    1.分析url

    URL有6部分组成,一些是可选的:

    1. <协议>//<域名>:<端口>/<路径><查询参数><hash>  
    2. <protocol>//<hostname>:<port>/<pathname><search><hash>  

    协议和域名是必须项,其它是可选项。

    下面是一个包含所有部分的URL例子:

    1. http://www.example.com:80/example.cgi?x=3&y=4#results  

    在这个例子中, http: 是 协议, www.example.com 是 域名, 80 是端口, /example.cgi 是路径, ?x=3&y=4是查询字符串, #results是hash, 或页面内部的锚点.

    2.通过Location读取当前的URL

    你可以使用location对象的protocol,hostname,port,pathname,search,hash属性访问URL各个部分。你还可以使用下面属性:
    host
        包含域名和端口例如: www.example.com:80
    href
        包含整个URL例如:http://www.example.com:80/example.cgi?x=3&y=4#results

    示例:

    1. var currentURL = window.location;  
    2. alert ( currentURL.href );     // Displays 'http://www.example.com:80/example.cgi?x=3&y=4#results'  
    3. alert ( currentURL.protocol ); // Displays 'http:'  
    4. alert ( currentURL.host );     // Displays 'www.example.com:80'  
    5. alert ( currentURL.hostname ); // Displays 'www.example.com'  
    6. alert ( currentURL.port );     // Displays '80'  
    7. alert ( currentURL.pathname ); // Displays '/example.cgi'  
    8. alert ( currentURL.search );   // Displays '?x=3&y=4'  
    9. alert ( currentURL.hash );     // Displays '#results'  

    3使用Location操作URL

    你可以使用location的href属性,把页面跳转到不同于当前页面的页面。

    1. window.location.href = "http://www.example.com/anotherpage.html";  

    示例:

    1. <input type="button" onclick="window.location.href='http://www.google.com/'" 
    2. value="Visit www.google.com" />  

    使用Location的href属性跳转页面,前一页的Url会保存在浏览器的history历史中。当用户点击浏览器的“后退”按钮可以返回前一页。如果你不想让返回前一页可使用Location.replace()代替:

    1. window.location.replace ( "http://www.example.com/anotherpage.html" );  

    除了可以将页面重定向不用的页面,还可重定向当前页面不同的锚点

    1. window.location.hash = "#moreResults";  

    例如:

    1. <input type="button" onclick="window.location.hash='#top'" 
    2. value="Jump to the top of the page" />  

    在页面有个名为#top的锚点。点击按钮时浏览器会移动到顶部。注意观察浏览器地址栏的变化,当你点击浏览器后退按钮可回到前一位置。

    4.重载刷新页面

    可以调用Location.reload()强制浏览器重新刷新当前URL.就像当前用户点击浏览器的刷新按钮或F5一样。

    1. window.location.reload ( );  

    如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。

    如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。这与用户在单击浏览器的刷新按钮时按住 Shift 健的效果是完全一样。

    1. window.location.reload ( true );  

    简单示例:

    1. <input type="button" onclick="window.location.reload()" value="Reload the page" />  
  • 相关阅读:
    导入贴图操作:处理贴图MaxSize和Format
    修改贴图工具
    CharacterMotor_刚体角色驱动
    sine曲线向前运动
    Shader基础(固定管线着色器)
    Shader基础(渲染管线)
    Unity3D中的高级摄像机跟随
    蛋疼的 qii 神马警告才是需要注意的警告?(由于警告引起的截然不同的运行结果)
    模拟摄像头,AV视频信号线解码,PAL制 NTSC,输入解码显示,终于搞定,记录下!
    VIP 视频开发板 上位机 测试软件 下载地址,玩转各自分辨率(V201抢先版)
  • 原文地址:https://www.cnblogs.com/everyday/p/3240163.html
Copyright © 2020-2023  润新知