问题标签 [session-storage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - JavaScript 计时问题 - 在设置 sessionStorage 值之前关闭窗口
我们正在组合一个 FSSO API,它需要一个弹出窗口供用户登录。在弹出窗口中,我们执行两个任务:
调用服务以填充配置文件值,然后设置页面以根据事件类型(登录或注册)将用户重定向到。
将用户重定向到父窗口中的重定向页面并关闭 FSSO 弹出窗口。
代码:
问题: 如果我将超时设置为小于 3000 的任何值,则在我能够设置 sessionStorage 值之前,窗口似乎正在关闭。我只想关闭窗口以响应设置的这些值,而不是任意时间量通过。我尝试了将超时设置为 0 但没有运气的技巧,我只尝试了没有超时的回调。
在这里寻找处理此类时间问题的最佳实践,我现在感觉很糟糕。:)
jquery - 寻找在 sessionStorage 中存储大型 js 对象的方法
我正在尝试构建一个解决方案,以允许我的单页应用程序在用户点击刷新时存活下来。目前,我有一个大型模型对象,我存储在 DOM 中,当用户使用应用程序时,我从模型对象中添加和删除信息。根据阅读其他帖子,我开始使用以下内容:
一旦用户登录,这非常有用,我拍摄了 modelLocator 的快照,并每隔 5 到 10 分钟继续这样做。但是,一旦用户开始使用该应用程序(编辑他们的用户信息或处理订单交易),我就会在 Chrome 中达到最大值。测试时我发现 chrome 可以占用 120666 个字符。在交易的中途,我打了大约 196475 个字符。因此,您可以看到我的 modelLocator 被截断,当用户点击刷新时,我们无法将字符串重新加载为 JSON。
有人对我如何存储我的模型有建议吗?该模型的某些区域是名称值对其他部分它的 6 个杠杆深度对象。
感谢您的帮助。
jquery - 来自 jQuery Mobile 的离线/在线数据库认证/同步
情况:我有一个数据库和一个 Web 应用程序,它们可以交互以显示和更新科学数据表。我的任务是构建一个移动应用程序,允许用户
- 为跟踪目的离线验证和识别自己(使用预定义但动态的用户帐户和存储在缓存中的权限)
- 下载现场工作的识别数据(通过互联网访问)
- 在现场进行和存储观察(没有互联网访问)
- 稍后将观察结果同步到在线数据库
问题:验证/下载/存储/上传必要数据以管理此类独立于一致互联网访问的应用程序的最佳方法是什么?如果两个人调整了相同的读数,并且在同步之间发生了一次更新,我如何跟踪哪些表和值已被更改,并防止更改丢失?
当前思路:我目前关于碰撞控制的暂定策略是维护一个“同步”表,该表存储 JSON 对象,代表存储在 sessionStorage 中的每个在线数据库事务,并让应用程序在上传数据之前不断验证其同步,并检查此对象是否更新特定主键的潜在冲突。我希望能够在元组处于编辑阶段时锁定元组,但由于互联网访问不一致,这似乎是不可能的。
抱歉,如果这是一个新问题,我对整个移动应用程序开发都是新手......
tl;dr如何防止移动应用程序对数据库的异步更改覆盖/与另一个人对同一数据库的更改发生冲突?以及如何验证没有网络连接的用户?
php - 将php会话变量传递给多个页面
我在我的网站上传递会话变量时遇到问题。我可以在 ads/page2.php 上回显我的会话变量,但是当我转到第三页时,会话就消失了。
有人可以帮我解决这个问题吗?
登录.php
广告商/page2.php
广告商/page3.php
这是我的 phpinfo() 上的设置
php - 我的会话 ID 停止工作
我一直在编写一个程序,并且会话 ID 已经工作了好几天。现在突然之间他们不再工作了。有什么建议吗?下面的脚本代码是我为测试通过会话 ID 而编写的测试脚本。
这就是我启动登录页面的方式,在此代码之前没有换行符。
它通过另一个页面来测试通过 HREF 链接。这是该脚本的顶部。
回显会话 ID 的最后一页。
有什么我做错了吗...?
google-chrome - 在浏览器上,Safari 隐私浏览中的 sessionStorage 与 Chrome 的隐身模式和 Firefox 的隐私窗口不一样?
看来sessionStorage
,它在 Chrome 的隐身模式与 Safari 的隐私浏览和 Firefox 的隐私窗口上的工作方式不同?我可以在http://www.webdirections.org/blog/webstorage-persistent-client-side-data-storage/上找到一些东西,但它并没有说 Safari 的私人浏览会引发异常。
以下是我打开“私人浏览”的方式:
- 在 Mac 上的 Safari 上,单击菜单栏上的“Safari -> 隐私浏览”
- 在 Chrome 上,使用“文件 -> 新建隐身窗口”
- 在 Firefox 上,使用“文件 -> 新建私人窗口”
在 Safari 上,sessionStorage
不起作用,如果我在控制台中执行以下操作:
但在 Chrome 或 Firefox 上,sessionStorage
照常工作(作为非隐私浏览)。就上述sessionStorage
情况而言,上述内容是否准确?
javascript - 如何检查 HTML5 会话存储是否有足够的空间来存储新项目
我想在 html5 会话存储中存储一组项目。但是在将新项目存储在数组中之前,我想看看是否有足够的空间,如果没有足够的空间,我想删除第一个元素并添加新项目。我如何知道会话存储中的可用空间?
jquery - jquery单选按钮冲突
我有一些脚本,我想在更改单选按钮时更新 div。此外,我将所选单选的值存储在 sessionStorage 中,以便在再次访问页面时保持选中相应的单选按钮。
我的问题是,如果我使用我的 sessionStorage 脚本和我的更新脚本,更新脚本不再工作,只是保留存储在会话中的值。
我的意思是这一行:
如果我删除该行:
更新脚本再次工作。
有谁知道如何避免这种冲突?
这是我的html:
我的更新jQuery:
我的 sessionStorage 的 jquery:
jquery - sessionStorage 工作,但需要一个 cookie
所以我得到了下面的代码来做我需要的事情,但现在被告知它需要在 ie7 中工作,而 sessionStorage 在该浏览器中不起作用。我对饼干知之甚少,所以想知道是否有人能指出我正确的方向。
目前,我的模式在您第一次访问主页时出现,除非我在新的选项卡/窗口中打开它,否则它不会出现,这可以按照我的意愿工作。
任何帮助深表感谢。
javascript - 将会话对象分配给 Angular 对象
我创建了一个在浏览器会话中存储数据的 Angular 应用程序。其中一个键的值恰好是一个字符串化的键:值对象。key:"{key:value, key:value, ...}"
当我从 sessionStorage 返回字符串时,我解析它以使用JSON.parse
or重新创建对象angular.fromJson
(两者都具有相同的结果)并将其存储为变量。在这一点上,我可以console.log
清楚地看到 JSON 对象的所有荣耀——正如我所期望的那样。当我将此对象分配为角度变量时,它会分配对象本身,而不是键:值。
更复杂的是,当我将 $scope 设置为 myParsedObj 时,它也莫名其妙地设置了 sessionStorage 项目,它也变成了 [object Object]。
此外,如果删除 myParentObject 并将 myObject 直接附加到 $scope,它可以正常工作并正确绑定数据。这是一个错误还是我做错了什么?有没有我可以采用的解决方法?我试过使用 angular.forEach 和 angular.extend 都没有成功。