Google chrome 每次单击扩展时,Chrome扩展中的iFrame都会加载

Google chrome 每次单击扩展时,Chrome扩展中的iFrame都会加载,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我的分机中有一个iframe。iFrame帮助用户登录帐户。 一旦用户登录并在关闭后再次单击扩展。iframe将再次加载,用户将注销 目前,iframe直接嵌入到html中。我还尝试使用JS附加它,但即使这样也没有帮助 编辑: 我的舱单: "permissions": ["tabs", "http://*/*", "https://*/*","activeTab"], "content_scripts":[ { "matches":["http://*/*", "ht

我的分机中有一个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的扩展,在该扩展中,一旦用户登录,直到他按下“注销”,他就不会注销。

如果我正确理解问题,请加载
http://abc.url/login
如果用户确实已登录,则将其注销。因此,每次打开弹出窗口时,都会加载iframe,用户将有效地注销

可能的解决办法:

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

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


  • 又是什么问题?@ExpertSystem:iframe每次单击扩展时都会加载,因此用户会注销。您确实需要提供更多详细信息。例如,“负载”是什么意思?在哪里装的?什么是“点击”?iframe做什么(即它如何“帮助用户登录帐户”)?这句话是什么意思:“一旦用户登录并在关闭后再次单击扩展名。”?您的扩展结构是什么(背景页?内容脚本?弹出窗口?其他视图?)?你的清单是什么样子?@ExpertSystem:我正在再次编辑代码..很抱歉出现了问题,因为这是我第一次问,所以我不知道应该发布什么。我真的很抱歉,但我仍然不太明白发生了什么。
    popup.js
    做什么(为什么它会被注入任何网页)?用户是否自动登录(或是否必须键入某些内容(例如用户名/密码)?在
    popup.html
    或iframe上是否还有其他内容?如果只有iframe,那么为什么还要显示一个弹出窗口?(也许退一步并详细解释您试图实现的目标(例如。“我想建立一个扩展,当用户…然后…等等)好的。第二个解决方案是不可能的。但我会尝试第一个解决方案。:)Thanks@IgnatiuzVinayak:如果您认为此答案有用并解决了您的问题,请,因此,未来面临类似问题的用户将能够轻松地发现它。没有一个解决方案解决了我的问题。我仍然面临同样的问题。@IgnatiuzVinayak:发布您的尝试(以及失败的原因)可能有助于提出一个实际解决问题的解决方案。顺便问一下,您是否有
    http://abc.url
    还是一个外国URL?@IgnatiuzVinayak:我明白了。在任何情况下,如果我不提供更多信息,我将无法进一步提供帮助。例如,共享您的代码(并解释您尝试了什么以及失败的原因),或者至少共享actusl URL是什么。