A. JavaScriptが機能parseURLを(URL)、オブジェクトを解析されるURL文字列の部分を実装します。
例えば:
parseURLを( "http://www.xiyanghui.com/product/list?id=123456&sort=discount#title");
結果に戻ります
{ プロトコル: "HTTP"、 ホスト: "www.xiyanghui.com"、 パス"/製品/リスト"、 クエリ:{ ID: "123456"、 ソート: "割引" }、 ハッシュ: "タイトル" }
/ ** * * @param {*}検索a.search * / 関数parseParams(検索){ VARのRET = {}; VaRのsearchArr = []; searchArr = search.replace(/ ^ \ /、 '?').split( '&'); (LET I = 0; I <searchArr.length; iは++)のために{ IF(searchArr [I]){ せquerys = searchArr [I] .split( '=')。 console.log(querys)。 RET [querys [0] =のquerys [1]。 } } 戻りRET。 } / ** *通过创建标签の *の@param {*} URL * / 関数parseURLを(URL){ するvar A =のdocument.createElement( 'A'); a.href = URL; リターン({ プロトコル:a.protocol、 ホスト名:a.hostname、 ポート:a.port、 検索:a.search、 paramsは:parseParams(a.search)、 ハッシュ:a.hash.replace( '#'、 '' )、 パス:a.pathname、 }) } VARレスト= parseURLを( "http://www.xiyanghui.com/product/list?id=123456&sort=discount#title")。 console.log(残り)。 / ** *通过新しいURL * @param {*}のURL * / // IE12及以上兼容 関数parseUrlBynewUrl(URL){ VaRのURL =新しいURL(URL); リターン({ プロトコル:url.protocol、 ホスト名:url.hostname、 ポート:url.port、 検索:url.search、 paramsは:parseParams(url.search)、 ハッシュ:url.hash.replace( '#'、 '')、 パス:url.pathname、 } ) } VAR restt = parseUrlBynewUrl( "http://www.xiyanghui.com/product/list?id=123456&sort=discount#title")。 console.log(restt)。 }