javascript - 在移动设备上重新加载上一页的 JavaScript

标签 javascript css mobile

我正在测试一个模板,其中每个页面的 opacity 设置为 0 并在页面加载时将其设置为 1事件监听器,使其看起来淡入。

我遇到的问题是,当我在移动设备(即 iPhone 5)上点击“后退”时,JS 不会执行,页面的不透明度为 0。

我想这样做是为了节省带宽,但是有没有办法强制浏览器执行它的 JS,即使点击“返回”也是如此?

代码的基本示例:

window.addEventListener('load', function() {
  someelement.style.opacity = '1';
});

最佳答案

我想我找到了最好的解决方案,来自这个 thread :

function Reload() {
  try {
    var headElement = document.getElementsByTagName("head")[0];
    if (headElement && headElement.innerHTML)
      headElement.innerHTML += " ";
  } catch (e) {}
}

if ((/iphone|ipod|ipad.*os 5/gi).test(navigator.appVersion)) {
  window.onpageshow = function(evt) {
    if (evt.persisted) {
      document.body.style.display = "none";
      location.reload();
    }
  }
}

这非常有效。其他解决方案对我不起作用或显示出一些不稳定的情况。参见 documentation for the onpageshow event

关于javascript - 在移动设备上重新加载上一页的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25400770/

相关文章:

java - 编译但崩溃的 Android 应用程序。与 Intent 有关吗?帮助

grails - 如何在Grails应用程序中基于m.mysite.com重定向到移动页面

javascript - 自动启动和停止node.js脚本

javascript - Flexbox 中的可拖动拆分 Pane 窗口无法通过子元素

javascript - Jade 和 Connect-Assets 升级问题

javascript - 当我点击其他地方时如何隐藏我的滑动sidenav?

javascript - Android 上的 sessionStorage 意外清理

javascript - php-js的执行顺序是什么?

javascript - Typeahead.js 自动完成不显示任何建议

javascript - 如何获得按 "value"值降序排序的映射/归约结果?如果也使用列表函数可以实现这一点?