我有这个文件:“myFile.html”我只想在查询字符串中显示xxx的值。我在其他线程的帮助下提取了以下内容。我使用了purl和自定义功能。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="js/purl.js"></script>
<script type="text/javascript">
$(document).ready(function(){
console.debug($.url().param('xxx'));
console.debug(getParameterByName('xxx'));
});
function getParameterByName(name)
{
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.search);
if(results == null)
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
</script>
从firefox调用url:“localhost .... / myFile.html?xxx = hi”工作正常,xxx的值在purl和自定义函数的控制台中显示。
但是,如果我在另一个页面“myHome.html”中通过JQuery.load加载“myFile.html”,则xxx的值会产生一个空字符串:
<script type="text/javascript">
$(document).ready(function(){
$('#myDiv').load("myFile.html?xxx=hi");
});
</script>
我无法弄明白为什么......
答案 0 :(得分:0)
我认为您所看到的行为是预期的,因为您正在使用行
$('#myDiv').load("myFile.html?xxx=hi");
将原始HTML转储到myDiv div标签中。包含页面的URL不受此操作的影响。因此,对xxx查询字符串参数的调用不会返回任何内容,因为该参数嵌入在div标记中,而不是附加到查询字符串。
答案 1 :(得分:0)
我在这里找到答案: jquery get querystring of loaded page in a div
似乎不可能,但使用回调函数我克服了这个问题。