小编nor*_*key的帖子

sessionStorage何时实际清除?

我有一些javascript来检查sessionStorage中的对象,并使用它来重新填充输入字段.我使用它来帮助我的网站上的用户,如果他们离开表单未完成,并导航或尝试在他们的会话过期后提交表单.

我的理解是sessionStorage没有链接到服务器会话,它链接到浏览器,所以我是否在服务器上有新的会话是无关紧要的.

几个月前我最初测试时支持了这一点.但是,似乎不再是这种情况,当我清除会话cookie并重新加载我的页面时,我的sessionStorage也被清除了.这是使用Chrome和Firefox.

我不想使用localStorage,因为这可能会导致共享计算机出现问题,而当浏览器窗口关闭时,sessionStorage将被清除.

JS获取我存储对象的值

JSON.parse(sessionStorage.getItem("draftPost") || null);
Run Code Online (Sandbox Code Playgroud)

JS保存价值

$("#wallText").on("change",function(){
            sessionStorage.setItem("draftPost",JSON.stringify(draftPost));
        });
Run Code Online (Sandbox Code Playgroud)

javascript jquery html5 session-storage

18
推荐指数
2
解决办法
2万
查看次数

Google跟踪代码管理器延迟window.load?

我有一个页面在加载时触发ajax调用

$(window).load(function() {
  updateDeliverySlots();
});
Run Code Online (Sandbox Code Playgroud)

我的身体顶部还有Google Tag Manager javascript (我知道目前的建议是将其放在head部分,但我们还没有更新代码,并且不认为这是问题的根源).

<body>
        <!-- Google Tag Manager -->
<noscript>
    <iframe src="//www.googletagmanager.com/ns.html?id=XXXX" height="0" width="0" style="display:none;visibility:hidden">
    </iframe>
</noscript>
<script>
    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});
    var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';
    j.async=true;
j.src='//www.googletagmanager.com/gtm.jsid='+i+dl;f.parentNode.insertBefore(j,f);
})
(window,document,'script','dataLayer','XXXX');
</script>
<!-- End Google Tag Manager -->
....
</body>
Run Code Online (Sandbox Code Playgroud)

我对GTM标记中包含的脚本进行的调用之一有疑问.该脚本向第三方发送请求.如果请求因任何原因无法连接(例如服务器关闭),则在请求超时(60秒)之前不会触发updateDeliverySlots()函数(以及其中的ajax调用).我还发现页面仍在"加载"(根据浏览器图标).

我的GTM实现中有什么东西我做错了吗?我的理解是,Google Tags后面的所有内容都应该是异步的,并且与页面的"准备就绪"无关.

javascript ajax jquery google-tag-manager

10
推荐指数
1
解决办法
4317
查看次数

创建将来要处理的Amazon SNS消息

在过去的几年中,我们使用了自己的RM应用程序来处理与我们的应用程序相关的事件。这是通过每隔几分钟轮询数据库表,查找截止日期在现在之前并且尚未处理的任何行来进行的。

目前,我们正在过渡到SNS,并由SQS Worker层对其进行处理。这种方法的问题在于,我们将来无法对消息进行过时。我们的应用程序有时会有直到一个星期后才想要处理的事件。

我们可以采用任何设计方法,替代服务,巧妙技巧来实现这一目标吗?

一种解决方案是使我们现有的应用程序保持在简化的水平,因此它所做的只是在到期时发送SNS通知,但是该项目的目的是尝试并消除我们现有的应用程序。

java event-handling amazon-sqs amazon-web-services amazon-sns

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

Cognito没有验证电子邮件

我正在使用Cognito进行用户注册和身份验证.我希望用户能够注册和登录而无需验证他们的电子邮件地址(将有一个单独的过程)

我已将我的Cognito用户池设置为不需要电子邮件或短信验证,但是当我进行以下呼叫时,由于帐户未被验证,我仍然返回失败.

cognitoUser.authenticateUser(authenticationDetails, {
            newPasswordRequired: function (userAttributes, requiredAttributes) {
                callback.cognitoCallback(`User needs to set password.`, null);
            }
Run Code Online (Sandbox Code Playgroud)

我收到的错误消息是"用户未确认".

因此,即使我已经关闭了API,但如果我没有得到验证,API似乎也会拒绝.除了自动验证之外,真的没办法解决这个问题吗?我不希望这样,在用户进程的某个时刻我确实想要验证电子邮件地址,我只是不希望它作为注册的障碍.

amazon-web-services amazon-cognito aws-cognito

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

存储桶之间的AWS S3同步将覆盖较新的目标文件

我们有两个s3存储桶,并且有一个同步cron作业,应将bucket1的更改复制到bucket2。

aws s3 sync s3://bucket1/images/ s3://bucket2/images/
Run Code Online (Sandbox Code Playgroud)

将新映像添加到bucket1时,它会正确地复制到bucket2中。

但是,如果我们将该图像的新版本上载到bucket2,则在下次运行同步作业时,它实际上会将旧版本从bucket1复制到bucket2,从而替换了我们刚才放置的较新版本。

这是迁移过程的一部分,一段时间后,唯一要上传到的位置图像将是bucket2,但是暂时有时它们可​​以上传到其中一个,我们只希望将bucket1中的更改​​复制到bucket2中,并非相反。

为什么aws同步作业似乎认为bucket1上的文件已更改?是否不知道bucket2中的文件是较新的文件,因此应该将其保留?

amazon-s3 amazon-web-services aws-cli

3
推荐指数
1
解决办法
3195
查看次数

使用setExpressCheckout API调用PayPal无缝结账(使用PayPal登录)

我正在尝试在我们的网站中集成无缝结账客户流程,客户可以使用PayPal登录,然后继续进行付款而无需再次登录.

我已经使用PayPal Rest应用程序登录并正常运行.我也有我的Classic API(使用merchantsdk库)调用setExpressCheckout工作.

文档说明我应该传入IDENTITYACCESSTOKEN参数.但是,这似乎在sdk中不可用.我错过了什么吗?

亲切的问候,达米安

paypal

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