2016-03-25 26 views
0

該功能基本上重新加載頁面,將?var=foo添加到URL中,以便重新加載的頁面看起來像。 http://midomain.com/mypage.php?var=foowindow.location +自定義window.location.search

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上測試) 我正在拉我的頭髮,試圖找出爲什麼這樣一個簡單的函數以兩種不同的方式運行,取決於誰來調用它。

回答

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> 

:)你可能忘了,使變量「酒館」的對象,因爲如果你只做var pub;你會得到一個錯誤定義.reload: mypage.php VAR = foo的:5遺漏的類型錯誤:未定義

+0

酒館無法設置屬性 '刷新' 是存在的,因爲該功能是包裹這樣 (函數(酒吧,$,未定義){ ... })(酒吧= window.pub || {} ,jQuery); – palermuke

+0

無論如何,你的代碼工作,所以問題必須在那裏 – palermuke

+0

哦,對不起,我不是很熟悉JQuery,但我相信酒吧不是一個對象,希望這可以幫助你弄清楚它 –