2013-11-15 30 views
0

我在扩展程序中有一个iframe。 iFrame帮助用户登录帐户。 一旦用户登录并在关闭后再次单击该分机。 iframe再次加载并且用户注销。Chrome中的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查看器扩展名,其中一旦用户登录,直到他按下'注销',他没有注销。

+0

又是什么问题? – gkalpak

+0

@ExpertSystem:每次点击扩展时加载iframe,以便用户注销。 – ignVinayak

+0

你真的需要提供更多细节。例如。 “负载”是什么意思?它在哪里加载?什么是“点击”? iframe做了什么(即它如何“帮助用户登录帐户”)?这句话意味着什么:“一旦用户登录并在关闭后再次点击扩展名。” ?什么是您的扩展结构(后台页面?内容脚本?弹出窗口?其他视图?)?你的清单是什么样的? – gkalpak

回答

0

如果我正确地理解了这个问题,加载http://abc.url/login会记录用户是否已经登录。因此,每次打开弹出窗口时,都会加载iframe,并且用户被有效注销。

可能的解决方案:

  1. 尝试检测,如果用户已经登录,然后才在iframe添加到DOM(通过JS)。例如。如果存在只能由登录用户访问的页面(例如http://abc.url/account),请尝试访问此页面并查看是否出现错误。 (确切的设置取决于服务器处理未经授权的请求的方式。)

  2. 默认情况下不加载iframe,但有一个链接或按钮,用户必须点击才能打开日志在iframe中。

+0

ok第二种解决方案是不可能的......但是,我会尝试第一个。:)谢谢 – ignVinayak

+0

@IgnatiuzVinayak:如果你认为这是一个nswer是有用的,并解决您的问题,请** [标记为“接受”](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)**,如此未来面临类似问题的用户将能够轻松发现。 – gkalpak

+0

没有任何解决方案可以解决我的问题。我仍然面临同样的问题。 – ignVinayak

相关问题