0

我有这个文件:“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 和自定义函数显示在控制台中。

但是,如果我通过 JQuery.load 在另一个页面“myHome.html”中加载“myFile.html”,则 xxx 的值会产生一个空字符串:

<script type="text/javascript">
$(document).ready(function(){
    $('#myDiv').load("myFile.html?xxx=hi");
}); 
</script>

我想不通这是为什么...

4

2 回答 2

0

我认为您看到的行为是预期的,因为您正在使用这条线

$('#myDiv').load("myFile.html?xxx=hi");

将原始 HTML 转储到 myDiv div 标记中。包含页面的 URL 不受此操作的影响。因此,您对 xxx 查询字符串参数的调用不会返回任何内容,因为该参数嵌入在 div 标记中,而不是附加到查询字符串中。

于 2013-04-19T02:10:04.583 回答
0

我在这里找到了答案: jquery get querystring of loaded page in a div

这似乎不可能,但使用回调函数我克服了这个问题。

于 2013-04-19T07:41:10.980 回答