如何在javascript代码之前重新加载页面?

时间:2016-03-09 13:51:46

标签: javascript

当用户点击按钮时,会发生以下情况:

  1. 页面将重新加载
  2. 运行一些javascript代码
  3. 这是 JavaScript:

    的代码
    location.reload() == jQuery(function($) {
    
      $("div.ProductCheckout").click(function($) {
        loading(); // loading
    
        $(window).load(function() {
          setTimeout.fadeOut(2000, function() { // then show popup, deley in .5 second
            loadPopup(); // function show popup 
          }, 500); // .5 second
          return false;
        });
      });
    
      $("div.close").click(function() {
        disablePopup(); // function close pop up
      });
    
      $(this).keyup(function(event) {
        if (event.which == 27) { // 27 is 'Ecs' in the keyboard
          disablePopup(); // function close pop up
        }
      });
    
      $('a.livebox').click(function() {
        alert('Hello World!');
        return false;
      });
    
    
      function loading() {
        $("div.loader").show();
      }
    
      function closeloading() {
        $("div.loader").fadeOut('normal');
      }
    
      var popupStatus = 0; // set value
    
      function loadPopup() {
        if (popupStatus == 0) { // if value is 0, show popup
          closeloading(); // fadeout loading
          $("#ProductCheckout").fadeIn(0500); // fadein popup div
          $("#backgroundPopup").css("opacity", "0.7"); // css opacity, supports IE7, IE8
          $("#backgroundPopup").fadeIn(0001);
          popupStatus = 1; // and set value to 1
        }
      }
    
      function disablePopup() {
        if (popupStatus == 1) { // if value is 1, close popup
          $("#ProductCheckout").fadeOut("normal");
          $("#backgroundPopup").fadeOut("normal");
          popupStatus = 0; // and set value to 0
        }
      }
    });
    

    任何帮助将不胜感激。

    为了清除我只想在完全重新加载页面时运行此javascript代码。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用localStorage。单击按钮,在localStorage中设置某个键,然后重新加载,检查此键是否可用,如果可用,则调用必要的功能。

JSFiddle

function init() {
  var callBackName = getFromLocalStorage("reloadCallback");
  if (callBackName)
    window[callBackName]();
  ....
}

注意: 出于演示目的,我使用了window.function。在实际实现中,您可以将其分配给对象,或者如果是特定情况,请直接调用该函数。

此外,如果您希望在页面加载完成后运行一些代码,则应该查看window.onload$(document).ready()。其他参考:window.onload vs $(document).ready()