重新加载页面,不会中断当前运行的Javascript

时间:2015-04-12 01:08:30

标签: javascript reload

有没有办法重新加载页面而不重置当前在页面上运行的Javascript代码(例如,通过Chrome开发控制台运行)?

我的情况是我有一个页面,我需要继续自动重新加载和运行代码。但是,每当我使用window.location.reload()刷新页面时,它都会停止我当前在页面上运行的任何Javascript。

有什么方法可以让我不断刷新页面但是继续运行相同的代码?

3 个答案:

答案 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);
        }
    });

WORKING DEMO