javascript
个人比较喜欢的JS网页跳转传值
首先,在未跳轉(zhuǎn)的網(wǎng)頁里寫下:
function JumpToRoute() {
??????? window.location.href = "route?originalHTML=1";
??? }
這里的route是我的aspx的文檔名字,可以替換成自己需要的任意網(wǎng)頁的名字,比如:111.html。
后面那個originHTML就是變量名稱了,這個隨你喜歡,比如:pig=1。 這個“=1”是個賦值,數(shù)值隨便。
然后找個地方引用這個方法就可以了,方法名稱也是隨便你起。
接著我們在那個準備要跳過去的網(wǎng)頁里插入下面的內(nèi)容(直接復(fù)制就行了):
?//傳入?yún)?shù)判斷
??? UrlParm = function () { // url參數(shù)?? ?
??????? var data, index;
??????? (function init() {
??????????? data = [];
??????????? index = {};
??????????? var u = window.location.search.substr(1);
??????????? if (u != '') {
??????????????? var parms = decodeURIComponent(u).split('&');
??????????????? for (var i = 0, len = parms.length; i < len; i++) {
??????????????????? if (parms[i] != '') {
??????????????????????? var p = parms[i].split("=");
??????????????????????? if (p.length == 1 || (p.length == 2 && p[1] == '')) {// p | p=?? ?
??????????????????????????? data.push(['']);
??????????????????????????? index[p[0]] = data.length - 1;
??????????????????????? } else if (typeof (p[0]) == 'undefined' || p[0] == '') { // =c | =?? ?
??????????????????????????? data[0] = [p[1]];
??????????????????????? } else if (typeof (index[p[0]]) == 'undefined') { // c=aaa?? ?
??????????????????????????? data.push([p[1]]);
??????????????????????????? index[p[0]] = data.length - 1;
??????????????????????? } else {// c=aaa?? ?
??????????????????????????? data[index[p[0]]].push(p[1]);
??????????????????????? }
??????????????????? }
??????????????? }
??????????? }
??????? })();
??????? return {
??????????? // 獲得參數(shù),類似request.getParameter()?? ?
??????????? parm: function (o) { // o: 參數(shù)名或者參數(shù)次序?? ?
??????????????? try {
??????????????????? return (typeof (o) == 'number' ? data[o][0] : data[index[o]][0]);
??????????????? } catch (e) {
??????????????? }
??????????? },
??????????? //獲得參數(shù)組, 類似request.getParameterValues()?? ?
??????????? parmValues: function (o) { //? o: 參數(shù)名或者參數(shù)次序?? ?
??????????????? try {
??????????????????? return (typeof (o) == 'number' ? data[o] : data[index[o]]);
??????????????? } catch (e) { }
??????????? },
??????????? //是否含有parmName參數(shù)?? ?
??????????? hasParm: function (parmName) {
??????????????? return typeof (parmName) == 'string' ? typeof (index[parmName]) != 'undefined' : false;
??????????? },
??????????? // 獲得參數(shù)Map ,類似request.getParameterMap()?? ?
??????????? parmMap: function () {
??????????????? var map = {};
??????????????? try {
??????????????????? for (var p in index) { map[p] = data[index[p]]; }
??????????????? } catch (e) { }
??????????????? return map;
??????????? }
??????? }
??? }();
然后隨便建一個變量,如下獲得傳過來的值:
var x;
x = UrlParm.parm("originalHTML");
括號里的東西和上面?zhèn)鬟^來的問號后面的名稱必須一樣。
這樣,我們alert(x)就可以輸出1了。
也就是我們很簡單地就把變量給傳過來用了。
如果想要傳多個變量的話,只需要在最上面用&符號將變量名稱隔開。
如:
//?URL是?http://127.0.0.1/demo.jsp?a&page=2&b=dd&c=123&b=dd2
UrlParm.parm(0)?????????//?結(jié)果:??"";?
UrlParm.parm('a')???????//?結(jié)果:??"";?
UrlParm.parm('page')????//?結(jié)果:??"2";?
UrlParm.parm(1)?????????//?結(jié)果:??"2";?
UrlParm.parm("b")???????//?結(jié)果:??"dd";?
UrlParm.parmValues("b")?//?結(jié)果:??["dd","dd2"];?
UrlParm.hasParm("b")????//?結(jié)果:??true;?
UrlParm.hasParm("x")????//?結(jié)果:??false;?
UrlParm.parmMap()???????//?結(jié)果:??{a:[""],page:[2],b:["dd","dd2"],c:["123"]};?
總結(jié)
以上是生活随笔為你收集整理的个人比较喜欢的JS网页跳转传值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 另外一篇关于JS页面跳转代码
- 下一篇: coreldraw 双层边框