2015-04-12 4 views
2

Есть ли способ перезагрузить страницу без сброса кода Javascript, который в настоящее время выполняется на странице (например, выполняется через консоль Chrome dev)?Обновить страницу без прерывания работы Javascript

Моя ситуация в том, что у меня есть страница, которая мне нужна для продолжения перезагрузки и запуска кода. Однако всякий раз, когда я обновляю страницу, используя window.location.reload(), она останавливает любой Javascript, который я сейчас запускаю на странице.

Есть ли способ, которым я могу обновлять страницу, но продолжать работать с тем же кодом?

+4

вы можете рамку или использовать AJAX для обновления страницы без перезагрузки – dandavis

+1

Вы не можете обновить страницу, но вы можете использовать ajax для загрузки нового контента с сервера и обновления страницы. Зачем вам нужно перезагружать страницу без остановки JavaScript? – AlliterativeAlice

+1

Предпочтительно использовать 'AJAX'; вы можете просмотреть: http: //www.aspsnippets.com/Articles/Call-ASPNet-Page-Method-using-jQuery-AJAX-Example.aspx – Vikrant

ответ

0

Было бы лучше, если бы динамически обновлять страницу ... но если это не возможно ...

Вы можете разместить всю страницу нужно освежать внутри фрейма, и делать важный JS вне вашего набора фреймов внутри рамки.

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

1

Благодаря dandavis за этот ответ.

Используя ajax, я смог выбрать div, который охватывал страницу и выборочно перезагружал ее. Эффективно это означает, что исправление страницы было обновлено.

код выглядит примерно так:

$('#mydiv').load(document.URL + ' #mydiv'); 

Пример (где средний является идентификатор дел):

$('#middle').load(document.URL + ' #middle'); 
+1

Примечание: если вы работаете с доменами, убедитесь, что CORS включен –

Смежные вопросы