js獲取url中?後的引數,修復移動版無法切換到電腦版的BUG
昨天,釋出了《完美實現移動主題在 360 網站衛士快取全開情況下的切換》一文,通過 JS 實現了主題在移動端訪問時的自動切換,最後提到了可以在電腦版和移動版的 footer 裡面加上手動切換連結,實現手動版本切換功能。
今早發現,電腦版切換到移動版是沒問題了,但是移動版切換到電腦版,JS 將會再次工作uaredirect.js會再次做 UA 判斷,然後由又跳回了電腦版! 也就是說,手機上瀏覽無法手動切換到電腦版,看來還得繼續折騰!
於是,想到一個辦法,給移動版的切換連結帶上一個引數,再修改 uaredirect.js,當發現連結後面帶了指定引數時,就直接 return,而不再進行 UA 判斷,避免再次跳轉的尷尬。。。
說幹就幹,在 oschina 找到如下 2 中獲取 url 後面引數的方法:
JavaScript12345678910111213141516171819202122232425262728293031323334353637 | //獲取請求url中引數的值:/*方法一:引數值中沒有等於號(“=”)*/functiongetUrlRequest(){varurl=location.search;//獲取url中"?"符後的字串vartheRequest=newObject();if(url.indexOf("?")!=-1){varstr=url.substr(1);if(str.indexOf("&")!=-1 |
根據個人喜好,張戈選擇了第二種,然後如下修改uaredirect.js
JavaScript1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | //獲取url後面引數functiongetUrlRequest(){varurl=location.search;vartheRequest=newObject();if(url.indexOf("?")!=-1){varstr=url.substr(1);if(str.indexOf("&")!=-1){strs=str.split("&");for(vari=0;i<strs.length;i++){theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);}}else{varkey=str.substring(0,str.indexOf("="));varvalue=str.substr(str.indexOf("=")+1);theRequest[key]=decodeURI(value);}}returntheRequest;}functionuaredirect(f){varcanshu=getUrlRequest();try{if(canshu["type"]=="pc"){//當檢測到url後面帶了type=pc引數時,停止執行.return}varb=false;if(arguments[1]){vare=window.location.host;vara=window.location.href;if(isSubdomain(arguments[1],e)==1){f=f+"/#m/"+a;b=true}else{if(isSubdomain(arguments[1],e)==2){f=f+"/#m/"+a;b=true}else{f=a;b=false}}}else{b=true}if(b){varc=window.location.hash;if(!c.match("fromapp")){if((navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i))){location.replace(f)}}}}catch(d){}}functionisSubdomain(c,d){this.getdomain=function(f){vare=f.indexOf("://");if(e>0){varh=f.substr(e+3)}else{varh=f}varg=/^www\./;if(g.test(h)){h=h.substr(4)}returnh};if(c==d){return1}else{varc=this.getdomain(c);varb=this.getdomain(d);if(c==b){return1}else{c=c.replace(".","\\.");vara=newRegExp("\\."+c+"$");if(b.match(a)){return2}else{return0}}}}; |
最後,在移動版主題的 footer 裡面加上如下程式碼:
PHP1234567891011121314151617 | <!--登陸--><atitle="登陸"href="http://zhangge.net/wp-login.php">登陸</a> <!--首頁底部切換連結--><?phpwp_reset_query();if(is_home()){?><atitle="電腦版"href="http://zhangge.net?type=pc">電腦版</a><?php}?><!--文章底部切換連結--><?phpwp_reset_query();if(is_single()){?><atitle="電腦版"href="http://zhangge.net/<?phpthe_ID();?>.html?type=pc">電腦版</a><?php}?><!
相關推薦js獲取url中?後的引數,修復移動版無法切換到電腦版的BUG昨天,釋出了《完美實現移動主題在 360 網站衛士快取全開情況下的切換》一文,通過 JS 實現了主題在移動端訪問時的自動切換,最後提到了可以在電腦版和移動版的 footer 裡面加上手動切換連結,實現手動版本切換功能。 今早發現,電腦版切換到移動版是沒問題了,但是移動版切換到電腦版,JS 將會再次工作uar js獲取url 中的值,並跳轉相應頁面實現方法:一:獲取URL帶QUESTRING引數的JAVASCRIPT客戶端解決方案,相當於asp的request.querystring,PHP的$_GET1.函式:<Script language="javascript">function GetRequest() {var url = lo js獲取url中的引數,並保證獲取到的引數不亂碼//網上比較經典的js獲取url中的引數的方法 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + ExtJs 獲取url中的引數,根據id獲取元素設定屬性ExtJs獲取Url中的某個引數,下面例子是獲取url中的name屬性值 Ext.Object.fromQueryString(window.location.href).name; ExtJs根據id獲取元素,給元素設定屬性 id: 'stud 原生js獲取url傳遞引數,js獲取url?後傳遞的引數方法一:正則分析法function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r 獲取URL中的引數(使用迴圈獲取,存進集合中,以url中的引數作為key,可根據需要根據key調取自己想要的引數)這是index頁面 中的點選事件方法 準備跳轉到model_xxxx-list.html的頁面,傳的id function mod 獲取URL中的引數和對應值,以鍵值對方式返回根據題意,URL可分為三類。即無引數,有一個引數,有多個引數。 http://www.jiangxiaobai.com http://www.jiangxiaobai.com?name=xiaobai http://www.jiangxiaobai.com?name=x JS通過Url傳遞中文引數,c#獲取引數最近遇到一個JS通過Url傳遞中文引數,c#獲取中文引數亂碼的問題。解決方法如下: 正確的方法是: JS var reqUrl = document.location + "?key=" + encodeURI(keyword); C# string keyword = js獲取url中引數名也引數值本文轉載於:猿2048網站➯js獲取url中引數名也引數值 要撮利用js獲取url中引數名也引數值這個不多見了,但我今天需 js 獲取URL中參數res 獲取值 參數名稱 var blog null match class query function getQueryString() { var result = location.search.match(new RegExp("[\?\&][^ js 獲取url 中的參數;實例 pos 瀏覽器中 date toc 整數 調用方法 cap adding 用JS獲取地址欄參數的方法(超級簡單) 方法一:采用正則表達式獲取地址欄參數:( 強烈推薦,既實用又方便!) function GetQueryString(name) { js獲取URL中指定的值string 元素 每一個 cati 組元 brush func arc gets function getSearchString(key) { // 獲取URL中?之後的字符 var str = location.search; str = s 使用JS獲取URL中參數的方法彈出 port there href 字串 span window subst var 1、獲取整個URL字符串 要想獲取URL中的參數,首先我們就要獲取到整個URL字符串。我們以http://localhost:8080/Charge/homePage.html?cost node.js獲取url中的各個參數local substr .net sub In csdn 列表 tle CA 實例代碼test.js var http=require(‘http‘); var url=require(‘url‘); var querystring=require(‘queryst js去除url中指定引數在專案中,遇到有引數只需要彈出一次,彈出後返回時就會再次彈出,所以需要將彈出引數取消: 程式碼如下: function delParam(paramKey) { var url = window.location.href; //頁面url var JS獲取url連線的引數應用場景:訪問某個html靜態頁面時需要帶上大量引數 如: http://localhost:8086/seeyon/h5/edoc/index.jsp?id=123123454&name=joke&age=16&job=worker var url = wi JavaScript獲取URL中的引數function getQueryString(name){ vat reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.serarch.substr(1).match JS獲取URL中引數值的4種方法方法一:正則法 function getQueryString(name) {var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');var r = window.location.se 案例:JS獲取URL中引數值的方法假設位址列地址是:http://localhost:3000/m/productlist.html?search=%E9%9E%8B 思路分析: 1.location.search//得到?search=%E9%9E%8B 2.location.search.substring(1)//"s javascript中獲取url中的引數function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search |