2017-09-01 119 views
-1

我有一页加载一个微调,每次我们去那个页面。每当我做一个页面重新加载,微调框再次加载。 我想要的是当我执行页面重新加载或刷新时,不要让微调器加载。如何在页面刷新或重新加载时触发JavaScript函数?

$(document).ready(function() { 
    $.ajax({ 
    url: window.location.protocol + '//' + window.location.host + '/quotes', type: 'post', data: {_csrf: $('#_csrf').val()}, beforeSend: function() { 
     $('#quotesPageDiv').hide(); 
     $spinnerDiv.fadeIn(300); 
     $spinnerDiv.children('p').each(function(index) { 
// my code 
     } 
     }); 
    }, success: function(data) { 
// my code 
     setTimeout(function() { 
// my code 
     }); 
     }, 1000); 
    }, error: function() { 
     window.location.assign('error-page'); 
    }, 
    }); 
}); 

我已经试过各种事情像window.unloadwindow.beforeunload等,但没能得到期望的结果。任何人都可以帮忙吗?

谢谢!

+1

一个选项不加载微调是设置一个cookie,或者使用localStorage的记得当页的最后加载,和n比较该页面加载的时间。 – raphael75

回答

0

要在页面加载时执行JS函数,您需要添加一个“Event Listener”。具体而言,在整个页面加载时调用window.AddEventListener("load", YOUR FUNCTION CALL HERE);。您还可以使用DOM中的对象注册事件。
jQuery中,$(window).on("load", YOUR FUNCTION CALL HERE)

另请参见:https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

+0

这将适用于每个页面加载。 OP要求一种方法来检测重新加载/刷新 – yezzz

+0

啊,我误解了。据我了解,HTML是无状态的,所以OP在运行时不会重构他的逻辑。 –

+0

那么,使用'load'事件或'DOMContentloaded'或'.ready'是做一些自定义逻辑的好时机。这只是你的答案没有添加任何逻辑。通过回答slacerda看起来可行。 – yezzz

0

做这样的事情:

1)页面加载,存储当前的URL在本地存储 2)重新加载页面,核对本地存储当前的URL 一),如果他们不匹配 仅b负荷微调)如果它们匹配

相关问题