【问题标题】:Refresh page on resize with javascript or jquery [duplicate]使用javascript或jquery调整大小时刷新页面[重复]
【发布时间】:2014-11-12 06:17:15
【问题描述】:

我想在用户调整页面大小时强制浏览器刷新页面。我有以下代码:

function refresh() { location.reload(); }

<body onResize="refresh()">

但它不起作用。你们中有人有解决方案吗? 谢谢

【问题讨论】:

  • onresize,而不是 onResize。
  • 那是dreamweaver给的,我不认为它错了!但我在发布之前也测试了“onresize”!
  • HTML 属性不区分大小写。但在 JavaScript 中,这些属性是小写的。
  • 从技术上讲,大写的 html 属性根据 Visual Studio 是“无效的”(或者可能是更清晰的)。它们不是,但是当它们大写时看起来确实很丑。

标签: javascript jquery html


【解决方案1】:

用 javascript/jquery 来做:

只是 javascript:

window.onresize = function(){ location.reload(); }

使用 jquery:

$(window).resize(function(){location.reload();});

$(window).on('resize',function(){location.reload();});

【讨论】:

  • Vanilla JS 是 onresize btw,JohnFx 之前也评论过。
  • 有效,但在 Firefox 上无效!你有 clou 为什么?
  • @TedMosby 不,这很奇怪。我不确定为什么它不起作用。您可能在 Firefox 中出现的页面某处出现另一个 javascript 错误,这导致该 javascript 无法运行。点击 f12 并检查控制台窗口是否有错误。
  • 很公平。自从我使用本机 javascript 以来已经有一段时间了。
  • 没问题。我认为这是一个公平的错误,因为您仅使用 addEventListener / jQuery 的事件名称,但在使用该属性时必须在其前面加上 on
【解决方案2】:

以下代码似乎适用于所有浏览器,

$(window).bind('resize', function(e)
{
  if (window.RT) clearTimeout(window.RT);
  window.RT = setTimeout(function()
  {
    this.location.reload(false); /* false to get page from cache */
  }, 100);
});

希望对大家有所帮助。我在这里找到了这些信息:http://www.jquery4u.com/snippets/jquery-refresh-page-browser-resize/

【讨论】:

  • 谢谢你,伙计,这对我有帮助...
  • window.RT 是什么意思?
  • 关于window.RT问题。我不太确定。我在我提供的链接中找到了解决方案并且它有效,所以我没有问很多问题。 ;) 我只是分享了这个供其他人使用。如果您有特定的代码问题,我建议您参考该链接并询问发布它的人。它可能与 Windows RT 有关,但就像我说的那样,我不确定。抱歉,我无法提供更多帮助。
  • 看来这段代码正在window 对象上创建一个名为RT 的属性。它使用它来检查是否需要在创建新超时之前清除超时。许多人会在第一次通过时简单地让它(默默地)出错,但这可能更好。
  • 您能向我解释一下这段代码在做什么吗?这是迄今为止对我有用的唯一变体,但我自己无法使用它,因为我不理解它。
【解决方案3】:

试试这个:

$(window).resize(function() {
        location.reload();
});

【讨论】:

    猜你喜欢
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 2018-09-25
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    相关资源
    最近更新 更多