我正在尝试在父母中包含的子网络中传递params。
我在父母身上使用它:
$('#idElemet').load('myPage.html?param1='+value);
在子网站(myPage.html)中显示参数值:
alert(getURLParameter('param1'));
function getURLParameter(name) {
var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
但它不起作用。有没有想过阅读参数?
感谢。
答案 0 :(得分:1)
由父脚本加载并包含在父脚本中的子脚本采用父级环境。
因此,在您的孩子的sscript中,location.search
不是指向您用来加载孩子的路径,而是指向框架(或者,如果没有框架,窗口)URL。
您无法将params传递给正在加载的脚本,就像您当前尝试的那样。相反,在父脚本中声明它们并让您的子脚本从那里读取它们,例如
父脚本:
var foo = 'bar';
$('#idElemet').load('myPage.html');
myPage.html下:
<script>alert(foo); //"bar"</script>
答案 1 :(得分:0)
你很亲密。你可以这样阅读params:
$.urlParam = function(name){
var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
return results[1] || 0;
}
# example.com?test=1¶m1=heythere
$.urlParam('param1'); // heythere
$.urlParam('test'); // 1