标签: session-storage

是否存在跨子域工作的现代sessionStorage替代方案?

我们最近从cookie切换到使用sessionStorage - 切换的触发器是IE问题.

现在,我们发现sessionStorage不能跨子域工作 - 存储与之www.site.com隔离site.com.

是否有一种现代的选择让两者合作?这很容易通过cookie实现,但我不想从sessionStorage恢复,或者(gasp)同时使用这两种方法.

javascript cookies session-storage local-storage

6
推荐指数
1
解决办法
3038
查看次数

localstorage数据可以放在HTTP头中吗?

我想在客户端使用localStorage,现在我将这些数据发送到AJAX请求的主体中.但是,能够通过页面请求发送数据会很好.有没有办法在HTTP标头中放置localStorage数据(或者我猜任何数据),以便我可以用Javascript读取它并将其存储在localstorage中?

javascript html5 session-storage http-headers local-storage

6
推荐指数
1
解决办法
2723
查看次数

jQuery Mobile的离线/在线数据库身份验证/同步

情况:我有一个数据库和一个互动的网络应用程序,用于显示和更新科学数据表.我的任务是构建一个允许用户使用的移动应用程序

  1. 为跟踪目的进行身份验证和识别自己离线(使用存储在缓存中的预定义但动态的用户帐户和权限)
  2. 下载现场工作识别数据(可上网)
  3. 在现场制作和存储观察(无法访问互联网)
  4. 稍后将观察结果同步到在线数据库中

问题:对于管理此类应用程序而不依赖于一致的互联网访问,进行身份验证/下载/存储/上传必要数据的最佳方法是什么?如果两个人调整相同的读数,并且在同步之间发生一次更新,我如何跟踪哪些表和值已被更改,并防止更改丢失?

当前的思路:我目前关于碰撞控制的暂定策略是维护一个"同步"表,该表存储代表存储在sessionStorage中的每个在线数据库事务的JSON对象,并让应用程序在上传数据之前不断验证其同步,并检查此对象对特定主键更新的潜在冲突.我希望能够在编辑阶段锁定元组,但由于互联网访问不一致,这似乎是不可能的.

对不起,如果这是一个新问题,我是整个移动应用程序开发的新手......

tl; dr如何防止数据库的异步更改从进行和离线的移动应用程序覆盖/与另一个人对同一数据库的更改发生冲突?我如何验证没有网络连接的用户?

jquery html5 session-storage offline-caching jquery-mobile

5
推荐指数
1
解决办法
2851
查看次数

Angular js 观看会话存储

我有一些来自不同控制器的数据,这些数据使用https://github.com/fredricrylander/angular-webstorage存储在 sessionStorga 中。数据存储正常并且在当前会话中可用。我面临的问题是制作一个控制器来观察 webstorage.session 中的变化,我是这样做的:

app.controller(
    'updateDataController',
    ['$scope','$http','$sce','$location','$routeParams', '$rootScope', '$document', 'webStorage', '$interval', 'md5',
        function($scope,$http,$sce,$location,$routeParams, $rootScope, $document, webStorage, $interval, md5) {

            $scope.mySessionStorage = webStorage.session;

            $scope.$watch('mySessionStorage', function (newVal, oldVal) {
                 console.log("The web storage has changed");
            }, true);

        }
    ]);
Run Code Online (Sandbox Code Playgroud)

我只得到一次 console.log 输出。即使我更改了 webStorage.session 的内容,我也没有收到任何日志。可能是什么问题呢?

javascript session-storage web-storage node.js angularjs

5
推荐指数
1
解决办法
5172
查看次数

以编程方式模拟存储事件

如果我设置了localStorage项目,StorageEvent则为除当前之外的所有同域窗口触发。

如果我以StorageEvent编程方式引发,则StorageEvent仅针对目标窗口触发。
代码示例:

var evt = document.createEvent('StorageEvent');
evt.initStorageEvent('storage',false,false,'key','oldValue','newValue',
                  'http://example.com',window.localStorage);
window.dispatchEvent(evt);
Run Code Online (Sandbox Code Playgroud)

我可以修改代码示例以模拟来自 window.setItem

javascript session-storage local-storage

5
推荐指数
1
解决办法
942
查看次数

为什么大多数网站在没有 cookie 的情况下无法运行?

最近有人问我为什么我们的网站在没有 cookie 的情况下无法运行。我的解释是我们需要在 cookie 中保存令牌和一些引用,以便稍后我们可以使用它来发出请求,并且我们可以使用限制选项在浏览器中保存数据。但是他对我的回答并不满意,而且我还认为我们可以通过一些选项使其工作,而不是使用 cookie/localStorage/sessionStorage。

我的问题是为什么大多数网站在没有 cookie 的情况下无法运行?我们可以让网站在浏览器中没有任何存储的情况下运行吗?

browser cookies session session-storage local-storage

5
推荐指数
1
解决办法
5146
查看次数

导航到另一个页面但不刷新时如何清除 sessionStorage?

我的一个网页中有一些复选框,并且此页面必须每 1 分钟刷新一次以解决某些数据一致性问题。

我使用window.sessionStoage保留已选中的复选框,以便用户不会丢失已在页面刷新时选中的复选框。

但是我想清除sessionStorage用户离开该页面的时间(不一定离开我的网站,可能会转到同一网站上的另一个页面),同样如果我使用该onunload事件,则存储将被清除以防万一刷新也。

是否有任何其他事件或任何解决方法可以帮助我实现这一目标。

html javascript session-storage sessionstorage

5
推荐指数
1
解决办法
3581
查看次数

重定向回原始域时,重定向后 HTML5 会话存储是否仍然存在?

我使用 auth0 进行身份验证,因此在进行身份验证时,用户将被重定向到另一个域 auth0 域,然后重定向回我的 Web 应用程序。

如果我在用户单击身份验证链接之前在会话存储中保存了一些内容,假设用户仍然在同一个窗口和选项卡中,那么当用户重定向回我的应用程序时,该值是否仍然存在?

session session-storage web-storage

5
推荐指数
0
解决办法
2453
查看次数

在会话存储中设置嵌套对象值

大家好,很难更新我存储在sessionstorage中的值.我尝试了几种方法来定位嵌套对象值而没有运气.任何帮助将不胜感激.

我在JavaScript中创建的对象

   var projectInfo = {
        project1: {
            name: 'Unique name',
            extraCredit: true
        }
        project2: {
            name: 'Unique name',
            extraCredit: true
        }
    }
Run Code Online (Sandbox Code Playgroud)

我如何坚持参加会议

sessionStorage.setItem('projectInfo', JSON.stringify(projectInfo));
Run Code Online (Sandbox Code Playgroud)

如何在项目信息中定位嵌套项目名称.例如

sessionStorage.setItem(projectInfo.project1.name, 'Student Fund raiser')
Run Code Online (Sandbox Code Playgroud)

javascript session-storage

5
推荐指数
1
解决办法
504
查看次数

具有oidc-client.js的Angular应用程序需要在第二个选项卡中登录

我在(oidc-client.js)+ .Net Core IdentityServer4处理的Angular 8中获得了授权。

一切似乎都正常,但是当我在第二个选项卡中打开相同的应用程序时,则需要我再次登录。IdentityServer4具有cookie,因此单击“ 登录”按钮就足够了,并且无需再次提供登录名/密码即可接收新令牌。无论如何,它仍然很烦人。

有什么办法解决吗?我在githubg上发现了一个可能会有所帮助的问题。

有人建议需要将令牌本地化从LocalStorage更改为SessionStorage。但是从个人角度而言,SessionStorage更好,我会保留在那个位置。

authorization session-storage identityserver4 oidc-client-js angular

5
推荐指数
1
解决办法
362
查看次数