施小喵

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

编写一个javascript的函数把url解析为与页面的javascript.location对象相似的实体对象,如:url :'http://www.qq.com/index.html?key1=1&key2=2',最后输出的对象是:

{
    protocol: "http", 
    hostname: "www.qq.com", 
    pathname: "index.html", 
    query: "key1=1&key2=2"
}
function parseUrl ( url )
{
       var map = {};
       var protocol = url.search(":") > 0 ? url.split(":")[0] : "";   //在url中":"前面的是协议;
       var newUrl = protocol ? url.replace( protocol + "://" , "") : url;  //将url中的协议部分去除掉
       var arr = newUrl.split("/");
       hostname = arr[0];
       pathname = arr[1] ? arr[1].split("?")[0] : "";
       query = arr[1] ? arr[1].split("?")[1] : "";
       map = {
protocol : protocol , hostname : hostname, pathname : pathname, query : query }
return map; }

 

 

 

  

  

window.location 对象所包含的属性

属性描述
hash 从井号 (#) 开始的 URL(锚)
host 主机名和当前 URL 的端口号
hostname 当前 URL 的主机名
href 完整的 URL
pathname 当前 URL 的路径部分
port 当前 URL 的端口号
protocol 当前 URL 的协议
search 从问号 (?) 开始的 URL(查询部分)

posted on 2015-09-03 20:41  施小喵  阅读(501)  评论(0编辑  收藏  举报