window.location +自定义window.location.search

时间:2016-03-25 21:16:53

标签: javascript get onclick reload window.location

此函数基本上会重新加载将?var=foo添加到URL的页面,以便重新加载页面。 http://midomain.com/mypage.php?var=foo

pub.reload = function() {
    var loc = window.location;
    window.location = loc.protocol + '//' + loc.host + loc.pathname + "?var=foo";;
};

当我从JS控制台调用函数时它可以工作..

但令人惊讶的是,当我从HTML中的按钮调用它时,它不起作用。 <button onclick="pub.reload()">
以这种方式调用页面重新加载,但额外的字符串不会添加到URL。 (在CH和FF上测试) 我正在试着弄清楚为什么这样一个简单的函数会以两种不同的方式起作用,这取决于谁调用它。

1 个答案:

答案 0 :(得分:0)

你确定吗?它似乎对我很好。

<script>

var pub = {};

pub.reload = function() {
    var loc = window.location;
    window.location = loc.protocol + '//' + loc.host + loc.pathname + "?var=foo";
};

</script>

<button onclick="pub.reload()">Click me</button>

:)你可能忘了制作变量&#34; pub&#34;一个对象,因为如果你只做了var pub;,你会得到一个定义.reload的错误: mypage.php?var = foo:5 Uncaught TypeError:无法设置属性&#39; reload&#39;未定义的