【发布时间】:2017-01-23 08:06:51
【问题描述】:
我开发了一个谷歌浏览器扩展程序,允许用户使用存储在远程服务器上的凭据自动登录任何第三方网站(客户希望对其员工隐藏用户凭据,因此有此要求)。
该扩展程序有一个 popup.html,允许用户提供他们的用户名和密码。用户登录后,将对 Web API 进行 AJAX 调用,该 API 返回用户有权访问的 URL 列表。 popup.html 页面随后被替换为 popupLoggedIn.html。用户现在可以点击他/她想要登录的站点。
我的问题是弹出窗口(带有 popupLoggedIn.html)没有保持打开状态。每次用户单击弹出窗口时,都会进行相同的 AJAX 调用,从而在托管正在调用的 Web API 的服务器上产生不必要的负载。有没有办法防止与 popupLoggedIn.html 相关联的 JavaScript 文件 (popupLoggedIn.js) 在每次单击弹出图标时都需要进行 AJAX 调用?
【问题讨论】:
-
登录成功后在
localStorage或chrome.storage.local中存储一个变量,并在你的js开始时检查它来决定是否继续。 -
嘿,非常感谢!没想到这一点我觉得很愚蠢!
标签: javascript ajax google-chrome google-chrome-extension