有没有办法重新加载页面而不重置当前在页面上运行的Javascript代码(例如,通过Chrome开发控制台运行)?
我的情况是我有一个页面,我需要继续自动重新加载和运行代码。但是,每当我使用window.location.reload()刷新页面时,它都会停止我当前在页面上运行的任何Javascript。
有什么方法可以让我不断刷新页面但是继续运行相同的代码?
答案 0 :(得分:1)
感谢dandavis的回答。
通过使用ajax,我能够选择包含页面的div并有选择地重新加载它。实际上,这意味着刷新了页面的内容。
代码看起来像这样:
$('#mydiv').load(document.URL + ' #mydiv');
示例(其中middle是div的ID):
$('#middle').load(document.URL + ' #middle');
答案 1 :(得分:0)
如果你能动态更新你的网页会更好...... 但如果不可能......
您可以托管整个页面需要在框架集内刷新,并在框架页面内的框架集之外执行重要的JS。 Example
答案 2 :(得分:0)
如果没有AJAX,我可能决定每隔30秒刷新整个页面,但是使用AJAX,我可以发出一个轻量级请求来获取我需要的一小部分信息。
使用AJAX提交表单并不总是最好的选择。除了通常没有真正优于发布表单的明显优势之外,您还会破坏浏览器历史记录等常规(尽管某些浏览器现在包含JavaScript"状态"作为历史记录中的页面)。
示例:
$.ajax({
url: form_url,
type: form_method,
data: form_data,
cache: false,
success: function(returnhtml){
$("#result").html(returnhtml);
$("#loadingimg").hide();
}
error: function (xhr, error) {
alert(error);
}
});