javascript - LocalStorage 无法在 iPhone 上运行 - 无法在私密浏览中使用

标签 javascript jquery ios iphone html

我试图在页面卸载时将用户输入从本地存储中的文本区域保存,然后在用户返回时将其读回文本区域。它在桌面浏览器中运行良好,但在我的 iPhone 上似乎无法运行。这与之前已回答的隐私浏览问题不同。

这是 html:

<html>
 <head>
  <title>Cookie Test</title>
  <link rel="stylesheet" type="text/css" href="css/site.css">
 </head>
 <body class="full" onload="getText()" onunload="saveText()">
  <div class="fullscreen-overlay" id="fullscreen_overlay">
  <div class="fullscreen-container js-fullscreen-container">
  <div class="textarea-wrap">
  <textarea name="fullscreen-contents" id="fullscreen-contents"></textarea>
  </div>
  </div>
  </div>
 </body>
</html>

以及用于获取和写入本地存储的 Javascript:

var text = document.getElementById('fullscreen-contents');

function saveText() {
  localStorage.savedText = text.value;
  console.log("saved");
}

function getText() {
  if (localStorage.savedText) {
    text.value = localStorage.savedText;
    console.log("loaded");
  }
}

这发生在 iOS 8 中并且隐私浏览未打开。知道会发生什么吗?谢谢!

最佳答案

使用 onpageshowonpagehide而不是 onloadonunload .

根据iOS developer library (与 Safari documentation 相同), loadunload事件已弃用,建议使用 pageshowpagehide分别是:

The load and unload events may not work as expected for back and forward optimization. Use the pageshow and pagehide events instead.

关于javascript - LocalStorage 无法在 iPhone 上运行 - 无法在私密浏览中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31416860/

相关文章:

javascript - Orbeon 表单选择默认选项文本 (select1)

javascript - 固定在视口(viewport)下方并在视口(viewport)中滚动一次的菜单?

jquery slider ...如何自动高度?

ios - 如果有条件,加载 TableView ,否则加载 web View xcode

ios - 选项卡栏 Controller 灰色

javascript - 在 HTML/CSS 中自定义和定位垂直 slider

javascript onclick 函数未定义 Internet Explorer

javascript - 使用 Javascript 从 url 中删除参数

javascript - 创建新时如何检索模型ID?

android - 您可以在不编写任何 native 代码的情况下访问智能手机上的蓝牙吗?