- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有启动页面的应用程序,需要确定已打开的内容,因此它不会重新打开已在另一个新选项卡中打开的内容。在 Firefox 中,我能够通过使用 window.sessionStorage 存储打开的页面的标题来完成这项工作,然后使用 window.opener 和以下代码从列表中删除标题。
Gecko Session Storage Info Page
if (window.sessionStorage) {
if (window.sessionStorage.getItem(code)) {
return; // page already open
}
else {
window.sessionStorage.setItem(code, code);
window.open("Sheet.aspx", "_blank");
}
}
在打开的页面上:
function signalPageExit() {
if (window.opener.sessionStorage) {
window.opener.sessionStorage.removeItem(
document.getElementById("runcode").childNodes[0].textContent);
}
这在 IE 中不起作用,所以我决定使用 cookie 策略,但是 cookie 从未成功地从动态启动页面上的代码中删除,因此页面一旦被删除就无法从启动页面重新打开。启动直到 cookie 过期。
我的第二次尝试是在 sessionStorage 不存在时定义它。看起来像这样:
function setStoreItem(name, val) {
this.storage[name] = val;
}
function getStoreItem(name) {
return(this.storage[name]);
}
function removeStoreItem(name) {
this.storage[name] = null;
}
function sesStorage() {
this.storage = new storageData();
this.setItem = setStoreItem;
this.getItem = getStoreItem;
this.removeItem = removeStoreItem;
}
// storage object type declaration
function storageData() {
}
// IE 7 and others
else {
window.sessionStorage = new sesStorage();
window.sessionStorage.setItem(code, code);
window.open("Sheet.aspx", "_blank");
}
但似乎真正的 session 存储很特殊,窗口的这个普通对象在回发后并没有保持事件状态,因此当我的启动页面回发时,创建的页面标题列表被清除了。
所以现在我正在寻找一种方法来完成这项工作。我有一个名为 Scoresheets.aspx 的启动页面,它根据用户请求创建动态页面。这些页面共享大量的 JavaScript 代码,可以修改这些代码来实现此目的。
当用户尝试重新打开已启动的页面时,我不想刷新它们,但如果有某种方法可以检测打开的页面的标题,或者有其他方法可以使用 window.opener 与相同的持久性进行通信sessionStorage 有,我很乐意使用它。
最佳答案
埃里克·加赛德的 jStore plugin为多个客户端存储引擎提供基于 jquery 的 api。
关于asp.net - Javascript 中 window.sessionStorage 的替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/847948/
我一直在做一些关于 cookie、sessionStorage、localStorage 的研究,但对 $sessionStorage 的了解很少。 在开发者工具中哪里可以查看 $sessionSto
我正在尝试使用 sessionStorage 中的“isCollapse”变量来减少导航栏。通过单击该按钮,我的 sessionStorage 会发生变化,但渲染不会更新。 JSX Code {
我有一个单页 AngularJS 应用程序,并通过 websockets 不使用 cookie 来验证我的网站。这意味着刷新会使用户注销。将密码存储在 sessionStorage 上以便它们可以在
我在 ASP.NET MVC 应用程序的布局页面中有以下 JavaScript 代码,用于将用户的浏览器范围 ID 存储为 cookie,以便我可以访问服务器端 session 中相应用户的信息。
我不明白 sessionStorage 是如何工作的。我希望仅在初始页面加载时发生一个事件。 我(尝试)通过检查 session 是否是新的来做到这一点。想法如下: $(function() {
我有这段JS: $('.go-to-bag').click(function () { var productId = $(this).parent().attr('id'); var product
我有这样的代码: Some Some 1 Some 2 Some 3 Some 4
我有一个 javascript 函数,每当特定 select 发生更改时,就会进行 3 个 ajax Json 调用,并填充 3 个 sessionStorage 项,这些项用于创建动态下拉菜单。 /
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 Improve th
我有包含此函数和代码的 PHP 文件: var values7 = ; var value7 = new Array; var time
这是我的代码: sessionStorage.loggedIn = true; if (sessionStorage.loggedIn) { alert('true')
我想知道如何从我的自定义方法中访问 native sessionStorage 范围。 我的例子: https://jsfiddle.net/3mc7ao7j/1/ 在第 3 行,我希望能够在对数据执
我试图实现这段代码,但在我的控制台中它说 thing is null 这很奇怪,因为当我查看控制台时,sessionStorage 不是空的...... $(".btn-alert").click(f
根据我对 Web 存储的(贫乏)理解,sessionStorage 对象是按选项卡维护的,它在页面重新加载和页面导航后仍然存在,并且在选项卡关闭或浏览器进程终止时被销毁。 有没有办法监听 sessio
我正在使用 sessionStorage 来确保每个 session 只发生一次操作。但是,如果用户打开一个新窗口 - sessionStorage 不会转移到新窗口,并且会再次执行该操作。请参阅下面
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
在我的网络表单上,我使用 sessionStorage HTML5 的功能可以存储表单中的值,然后将它们显示在“谢谢”页面上,作为查询的确认收据。 我已成功存储除 之外的每种输入类型的值。元素。 我
我是 HTML5/Javascript 新手,我认为有一个概念问题。我使用 Aptana 作为我的环境,它使用 FireFox 进行浏览器调试。 这是有问题的代码: var req = new Con
在下面的示例中(在 jsfiddle 中,依赖于 requirejs),控制台第一次输出 theUsername 和 http://nothing&username=null ,然后如果您再次运行它,
Login.vue是我设置sessionStorage的地方 sessionStorage.setItem('accessToken', response.data.response.accessTo
我是一名优秀的程序员,十分优秀!