有沒有人知道如何刷新頁面只有一次在JavaScript 5秒後?如何在JavaScript 5秒後刷新頁面一次?
我有以下腳本5秒後刷新頁面:
setTimeout(function() {
window.location.reload(1);
}, 5000); // After 5 secs
但不知何故,這是刷新每5秒,而不是第一個5秒後只有一次的時間。有誰知道如何解決這個問題?
有沒有人知道如何刷新頁面只有一次在JavaScript 5秒後?如何在JavaScript 5秒後刷新頁面一次?
我有以下腳本5秒後刷新頁面:
setTimeout(function() {
window.location.reload(1);
}, 5000); // After 5 secs
但不知何故,這是刷新每5秒,而不是第一個5秒後只有一次的時間。有誰知道如何解決這個問題?
您需要一種方法來識別重新加載的頁面。最簡單的方法(imo)將是控制這個服務器端。檢查一個get變量幷包含js代碼(如果它不存在)。
此外,我看到人們建議cookies。我不喜歡使用餅乾這樣的小事。
你可以嘗試這樣的:
// Get all get-variables
var queryDict = {}
location.search.substr(1).split("&").forEach(function(item) {queryDict[item.split("=")[0]] = item.split("=")[1]})
// Check if reloaded is set
if (queryDict['reloaded'] == 'undefined') {
// Check if url contains any get-variables
if (Object.keys(queryDict).length == 0) {
var redirect = document.URL + '?reloaded';
}
else {
var redirect = document.URL + '&reloaded';
}
// The timeout
setTimeout(function() {
window.location = redirect;
}, 5000);
}
你需要保持這個腳本做這樣的事情插入或updations或任何其他的任務,然後它會在5秒後重新載入網頁一次後。它適用於我上傳圖片時,我上傳我的文件後保存這個腳本,而不是保存在window.load或documents.ready中,它的功能就像一個魅力。這是我的腳本。也許這可以幫助您解決問題
<script type="text/javascript">
$(window).load(function() {
$('#<%=FileUpload1.ClientID%>').uploadify({
'swf': 'fy/uploadify.swf',
'cancelImg': 'fy/uploadify-cancel.png',
'buttonText': 'Browse Files',
'uploader': 'Gallery.ashx',
'folder': 'uploads',
'fileDesc': 'Image Files',
'fileExt': '*.jpg;*.jpeg;*.gif;*.png',
'multi':true,
'auto': false,
'formData':{'paid':<%= Request.QueryString["PhotoAlbumID"] %>},
'onUploadStart': function (file) {
$("#<%=FileUpload1.ClientID%>").uploadify("settings", 'Txt', $('#password').val());
$(document).ready(function() {
}); setTimeout(function() { window.location=window.location;},3000);
}
});
});
</script>
這是目前爲止最簡單,最輕的解決方案:
setTimeout(function() {
if(window.location.hash != '#r') {
window.location.hash = 'r';
window.location.reload(1);
}
}, 5000); // After 5 secs
我認爲更好的辦法是檢查document.referer
與document.location
if (document.referrer !== document.location.href) {
setTimeout(function() {
document.location.reload()
}, 5000);
}
你比較可以在jsfiddle中試試這個:https://jsfiddle.net/ga0Lrurj/
確保它沒有每次重新加載時都不會再次運行。 – SLaks
您可以設置一個cookie來查看它是否已經運行。如果cookie已設置,請勿創建超時。更好的是,5秒後使用AJAX請求並重新加載頁面上的數據。 –
[第一頁加載後一次頁面刷新]的可能重複(http://stackoverflow.com/questions/6985507/one-time-page-refresh-after-first-page-load) –