2016-02-18 5 views
1

У меня есть набор кодаВозможно ли выполнить функцию сразу после перезагрузки ...?

setTimeout(function() { 
    window.location.reload(true); 
    if ($scope.attribute.parentAttribute.id) { 
     angular.element(document.getElementById($scope.attribute.parentAttribute.id)).click(); 
    } 
}, 1000); 

Я использую тайм-аут, я должен выполнить эту функцию после щелчка window.location.reload(true); перегрузочной причины по этой линии. Является ли это возможным?

+0

Нету, вы перезагрузки страницы, прежде чем запустить нажмите – madalinivascu

+2

Да, установить флаг в локальном хранилище, а затем перезагрузить, то тест этот флаг из обработчика onload или DOM и запускается щелчок оттуда. – nnnnnn

+0

Вам нужно будет сделать это в событии загрузки. – epascarello

ответ

1

Определите обработчик для события onload здесь. Это вызовет после загрузки страницы (перезарядка не отличается):

object.onload=function(){myScript}; //in this case object = window 

Источник: http://www.w3schools.com/jsref/event_onload.asp

0

Вы можете вызвать метод onload от вашего исходного тела тега:

<body onload="myFunction()"> 
0

Ну, раз вы позвонили window.location.reload(true);, затем 1. Ваша страница будет обновлена ​​/ перезагружена. 2. все javascript перезагрузится на странице. 3. все триггеры или обратные вызовы будут уничтожены/отменены.

Таким образом, нет возможности вызвать функцию после вызова перезагрузки.

Все, что вы можете сделать, это вызвать функцию при загрузке страницы, как показано ниже.

$(function(){ 
    // this will be executed first when page loads. 
}); 

Но есть один глюк с этим, это будет выполнять функцию всякий раз, когда страница загружается.

0
$window.onload = function() { 
    /*do your thing*/ 
}; 

Вам нужно будет вводить $ окно в контроллер или запустить, и т.д.

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