我的扩展程序中有一个iframe。 iFrame可帮助用户登录帐户。 一旦用户登录并在关闭后再次单击扩展名。 iframe再次加载并且用户已注销。
目前iframe直接嵌入在html中。我也尝试使用JS附加它,但即使这样也没有用。
修改 我的清单:
"permissions": ["tabs", "http://*/*", "https://*/*","activeTab"],
"content_scripts":[
{
"matches":["http://*/*", "https://*/*"],
"js":["data/js/popup.js","data/js/jquery-1.10.2.min.js"]
}
],
popup.html:
<div class="frame">
<iframe id="Receiver" width="100%" height="250px" frameborder="0" src="http://abc.url/login"></iframe>
</div>
链接(iframe)有登录页面,让用户登录他的帐户。我没有任何直接访问该登录页面的信息,但如果需要,请告诉我。
问题:
1)点击扩展程序需要花费大量时间来显示popup.html:经过大量搜索,我知道在iframe完全加载之前,扩展程序不会弹出面板。
2)当用户登录其帐户,并通过单击浏览器上的其他位置访问其他页面或关闭扩展程序时。然后再次点击扩展名,扩展程序再次加载框架/花费大量时间显示html页面,并且用户也被注销。
我想要一些像 GroupDocs Viewer 扩展程序,一旦用户登录,直到他按下'logout',他就不会被注销。
答案 0 :(得分:0)
如果我正确理解了问题,加载http://abc.url/login
会在用户登录时将用户注销。因此,每次打开弹出窗口时,都会加载iframe,并且用户会被有效注销。
可能的解决方案:
尝试检测用户是否已登录,然后将iframe添加到DOM(通过JS)。例如。如果有一个页面只能由登录用户访问(例如http://abc.url/account
),请尝试访问此页面并查看是否出现错误。 (确切的设置取决于服务器处理未经授权的请求的方式。)
默认情况下不要加载iframe,但要有一个用户必须点击的链接或按钮才能显示登录iframe。