2013-05-16 89 views
2

我想刷新按钮单击和页面刷新后调用一个函数的网页。 但它的相反情况不会发生,即先调用该函数,然后刷新页面。按钮点击后刷新页面,然后调用函数

这是我曾尝试:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<script> 
    function restartall(){ 
     $('#text').append('hello'); 
    } 
</script> 
<a href="javascript:document.location.reload();"> 
<button onclick="restartall()">Referash Map</button></a> 
<div id="text"></div> 

请解决这个查询。

+2

你为什么不使用AJAX来代替刷新页面? –

+0

如果你使用jQuery,你为什么不用jQuery绑定事件,而是使用'onclick'参数等不安全的方法? – Wiktor

+0

你能解释为什么你需要刷新页面吗? – Broxzier

回答

1

当您重新加载页面时,您正在丢失JavaScript调用堆栈。您必须在URL或use cookie上附加一些参数。

2

使用下面的代码

<body onload="onrefresh();"> 

<a href="javascript:myfun();"> 

function myfun(){ 
    window.location.search += '&reload=true'; 
} 
function onrefresh(){ 
if(gup("reload")=='true'){ 
    // DO whatever want to do. 
    } 
} 


function gup(name){ 
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(window.location.href); 
    if(results == null) 
     return ""; 
    else 
     return results[1]; 
} 
+1

正是我要做的,只是用'if(window.location。 indexOf('reload')> - 1)' – davidkonrad

2
<a href="javascript:abc();"><script>function restartall() { 
    $('#text').append('hello'); 
} 

function abc() { 
    document.location.reload(); 
    restartall(); 

}</script> 
+1

这就是你需要的。 – Sudarshan

+1

我以为他希望'restartAll'被执行_after_' reload()' – davidkonrad

+0

nop其不完美的工作... –

0

试试这个

<script> 
    function restartall(){ 
     $('#text').append('hello'); 
     document.location.reload(); 
    } 
</script> 

<input type="button" onclick="restartall()" value="Referash Map" /> 
<div id="text"></div> 
相关问题