2016-02-18 107 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 

來源:

<body onload="myFunction()"> 
0

你可以從你的起始體標籤調用onload方法您已撥打window.location.reload(true);,然後 1.您的頁面將刷新/重新加載。 2.所有的JavaScript將重新加載在頁面上。 3.所有觸發器或回調將被銷燬/取消。

因此總之,在重新調用之後無法調用函數。

您只需在頁面加載時調用一個函數,如下所示。

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

但是有一個小故障與此,這將執行功能,無論何時頁面加載。

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

您將需要注入$窗口到您的控制器或運行等

相關問題