本文目錄一覽:
怎麼用JS獲取獲取瀏覽器地址欄參數
方法一:採用正則表達式獲取地址欄參數:( 強烈推薦,既實用又方便!)
function GetQueryString(name)
{
var reg = new RegExp(“(^|)”+ name +”=([^]*)(|$)”);
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}
// 調用方法
alert(GetQueryString(“參數名1”));
alert(GetQueryString(“參數名2”));
alert(GetQueryString(“參數名3”));
下面舉一個例子:
若地址欄URL為:abc.html?id=123url=
那麼,但你用上面的方法去調用:alert(GetQueryString(“url”));
則會彈出一個對話框:內容就是
如果用:alert(GetQueryString(“id”));那麼彈出的內容就是 123 啦;
當然如果你沒有傳參數的話,比如你的地址是 abc.html 後面沒有參數,那強行輸出調用結果有的時候會報錯:
所以我們要加一個判斷 ,判斷我們請求的參數是否為空,首先把值賦給一個變數:
var myurl=GetQueryString(“url”);
if(myurl !=null myurl.toString().length1)
{
alert(GetQueryString(“url”));
}
這樣就不會報錯了!
方法二:傳統方法
script type=”text/javascript”
function UrlSearch()
{
var name,value;
var str=location.href; //取得整個地址欄
var num=str.indexOf(“?”)
str=str.substr(num+1); //取得所有參數 stringvar.substr(start [, length ]
var arr=str.split(“”); //各個參數放到數組裡
for(var i=0;i arr.length;i++){
num=arr[i].indexOf(“=”);
if(num0){
name=arr[i].substring(0,num);
value=arr[i].substr(num+1);
this[name]=value;
}
}
}
var Request=new UrlSearch(); //實例化
alert(Request.id);
/script
比如說把這個代碼存為1.html
那麼我要訪問1.html?id=test
這個時候就取到test的值了
在html里調用
script type=”text/javascript”
var a=””;
/script
/head
body
a id=”a1″ href=””sadfsdfas/a
script
var a1=document.getElementById(“a1”);
a1.href=a;
/script
script type=”text/javascript”
var a=””;
var s=a.indexOf(“?”);
var t=a.substring(s+1);// t就是?後面的東西了
/script
stringvar.substr(start [, length ]
返回一個從指定位置開始的指定長度的子字元串。
stringvar
必選項。要提取子字元串的字元串文字或 String 對象。
start
必選項。所需的子字元串的起始位置。字元串中的第一個字元的索引為 0。
length
可選項。在返回的子字元串中應包括的字元個數。
如果 length 為 0 或負數,將返回一個空字元串。如果沒有指定該參數,則子字元串將延續到 stringvar 的最後。
下面列舉出一些相關的參數:
str.toLowerCase() 轉換成小寫
str.toUpperCase() 字元串全部轉換成大寫
URL即:統一資源定位符 (Uniform Resource Locator, URL)
完整的URL由這幾個部分構成:
scheme://host:port/path?query#fragment
scheme:通信協議
常用的http,ftp,maito等
host:主機
伺服器(計算機)域名系統 (DNS) 主機名或 IP 地址。
port:埠號
整數,可選,省略時使用方案的默認埠,如http的默認埠為80。
path:路徑
由零或多個”/”符號隔開的字元串,一般用來表示主機上的一個目錄或文件地址。
query:查詢
可選,用於給動態網頁(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技術製作的網頁)傳遞參數,可有多個參數,用””符號隔開,每個參數的名和值用”=”符號隔開。
fragment:信息片斷
字元串,用於指定網路資源中的片斷。例如一個網頁中有多個名詞解釋,可使用fragment直接定位到某一名詞解釋。(也稱為錨點.)
對於這樣一個URL
;id=6#imhere
我們可以用javascript獲得其中的各個部分
1, window.location.href
整個URl字元串(在瀏覽器中就是完整的地址欄)
本例返回值: ;id=6#imhere
2,window.location.protocol
URL 的協議部分
本例返回值:http:
3,window.location.host
URL 的主機部分
本例返回值:
4,window.location.port
URL 的埠部分
如果採用默認的80埠(update:即使添加了:80),那麼返回值並不是默認的80而是空字元
本例返回值:””
5,window.location.pathname
URL 的路徑部分(就是文件地址)
本例返回值:/fisker/post/0703/window.location.html
6,window.location.search
查詢(參數)部分
除了給動態語言賦值以外,我們同樣可以給靜態頁面,並使用javascript來獲得相信應的參數值
本例返回值:?ver=1.0id=6
7,window.location.hash
錨點
本例返回值:#imhere
JS獲取地址欄url參數
本章內容分為三部分:
開始之前先簡單了解一下
如:url地址: ;le=2
window.location.search獲取到的就是 ?leafle=2 ;
window.location.search.substr(1)獲取到的就是 leafle=2 ;
一、JS獲取地址欄url參數:
如果你想獲取地址欄的其他參數,只需要執行 var 參數=getUrlParam(‘參數’) ;
比如獲取參數a,執行 var a=getUrlParam(‘a’) 就可以啦。簡單又實用。
二、解決請求介面亂碼問題
但是在我請求介面數據的時候,頁面獲取到是類似???這種亂碼。
然後我是這樣解決的:
1、發送方decodeURI編碼:
2、接收方encodeURI解碼
根據後台介面拼接url中使用encodeURI:
三、關於根據後台介面拼接url
整理筆記,不斷優化更新。如果有錯誤或可以優化的地方歡迎指出,互相學習,共同進步。
如果對你有用就點個小心心吧❤
如何在地址欄中輸入一段js代碼,使當前頁面動態載入一段js腳本文件!
看您的意思應該是在地址欄里輸入JS代碼,來調用頁面中已經存在的JS腳本,或者是調用自己的JS腳本。
1、調用自己的腳本:可以試試下面的代碼
javascript:var i;i=2;alert(i);
可以把JS的內容全部轉成一行再輸入,大文件可能比較困難
2、調用已經存在的腳本
比如,本頁面中存在 iknowMap.upload() 這個函數,直接調用就可以了
javascript:iknowMap.upload();
PS:百度知道中每個有回答的頁面都可以這麼調用,
這屬於一種XSS跨站腳本的方法,但在地址欄進行輸入的話內容僅僅在輸入地址的本機有效,因為腳本是執行在瀏覽器端的。
希望能夠有所幫助,祝你成功
js代碼 獲取瀏覽器地址欄的內容 怎麼做哦
js代碼獲取瀏覽器地址可以用
var url=document.location.href;
var url1=url.split(“=”)[1];
var url2=””+url1;
console.log(url2);
JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言,內置支持類型。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/283092.html