防止仅从网站的一个页面重新加载页面 jQuery

Prevent page reload jQuery from only one page of a website

我在网站

上使用这个 jQuery
jQuery(document).ready(function($) {
    var windowWidth = jQuery(window).width();
    jQuery(window).resize(function(){
        if (jQuery(window).width() != windowWidth) {
              windowWidth = jQuery(window).width();
              location.reload();
        }
    });
});

目的是在屏幕尺寸改变时重新加载页面。例如,用户在 phone 上以纵向模式查看它,然后切换到横向模式。

但是我不想在调整屏幕大小时重新加载网站中的一个页面。

有很多方法可以做到这一点,在我看来最简单的是您可以在 window 对象上定义一个 boolean 变量,例如 window.preventReload 不是设置为 true 除非在那个特定的 window 中,并且在您的 jQuery 代码中重新加载之前检查它,如下所示:

jQuery(document).ready(function($) {
    var windowWidth = jQuery(window).width();
    jQuery(window).resize(function(){
        if (window.preventReload !== true && jQuery(window).width() != windowWidth) {
              windowWidth = jQuery(window).width();
              location.reload();
        }
    });
});

试试这个:

这不会为特定页面重新加载。对于所有其他页面,其重新加载

function getPageName(url) {
    var index = url.lastIndexOf("/") + 1;
    var filenameWithExtension = url.substr(index);
    var filename = filenameWithExtension.split(".")[0]; // <-- added this line
    return filename;                                    // <-- added this line
}

jQuery(document).ready(function($) {
    var url = window.location.href;
    var pagename=getPageName(url);

    if(pagename!="pagenotreload.html"){
      var windowWidth = jQuery(window).width();
      jQuery(window).resize(function(){
        if (jQuery(window).width() != windowWidth) {
              windowWidth = jQuery(window).width();
                            location.reload();
        }
      });
    }
});