【问题标题】:how do i make xul's <browser> to have its own profile?如何让 xul 的 <browser> 拥有自己的个人资料?
【发布时间】:2014-04-22 23:29:14
【问题描述】:

我在 xul 中使用了两个 &lt;browser&gt;s,每个应该使用不同的配置文件。两者都在浏览同一个站点(它是一个 web 应用程序),但他们应该单独处理他们的会话。目前,如果我在其中一个中设置一个 cookie,它也将在第二个 &lt;browser&gt; 上可用。有没有办法让他们完全独立?

【问题讨论】:

  • 我认为您正在尝试做的是所谓的沙盒,请尝试搜索该关键字,我对此不太了解,否则我会提供更多帮助
  • 我试过了,但没有成功
  • 当,这是一件棘手的事情。希望有人可以帮助你。这是沙盒 http 连接:developer.mozilla.org/en-US/docs/…
  • 你应该检查一下插件 Multifox,它允许在不同的选项卡中进行多次登录,那一定是沙盒。
  • 感谢您的建议,我会检查的!

标签: firefox-addon xul xpcom xulrunner


【解决方案1】:

&lt;browser&gt;s 和网络的东西大多是独立的。即:有一个 cookie 服务和一个使用 cookie 服务的 HTTP“服务”......或者如果您愿意,还有一个 profile。 您不能在同一进程中运行两个配置文件...

嗯,实际上现在有两组 cookie(和缓存等 - 或一般的用户状态)。用于私人浏览的常规和易失性。如果您真的只关注两个不同的&lt;browser&gt;s 而不是n&gt;=2,那么将&lt;browser&gt;s 之一切换到隐私浏览模式可能就足以满足您的用例。 通常应该可以设置PrivateBrowsingUtils.privacyContextFromWindow(window).usePrivateBrowsing = true;,其中window 是您的&lt;browser&gt;.contentWindow。使用Cu.import("resource://gre/modules/PrivateBrowsingUtils.jsm") 首先在您的窗口中加载实用程序代码模块;) 或许可以从这个领域的出色 Private Tab 插件获得一些灵感,因为这基本上就是插件所做的:将 &lt;browser&gt;s 设置为不同的隐私浏览模式,因此用户状态进入同一个窗口。

更新 1:私有 session 基本上是一个常规会话,分别跟踪 cookie、本地存储、缓存等,但只保存在内存中,从不写入磁盘。因此,一旦应用程序退出,它就会消失。此外,一旦最后一个私有窗口上下文关闭(好吧,与之关联的nsIDocShell),"last-pb-context-exited" notification will be sent 也会导致私有会话被丢弃。如果您遇到私人会话过早消失的问题,只需在某处保留另一个(隐藏的)私人&lt;browser&gt;

如果这还不够,请考虑运行两个单独的 Firefox 实例。 -profile &lt;path&gt;-no-remote(用于并行运行会话)开关是您的朋友。

如果您只使用 cookie,也可以通过 getting the &lt;browser&gt; first (如果有)从您的 &lt;browser&gt;s 生成 manipulate the cookies requests,然后酌情添加 Cookie 标头。当然,这不会影响网站可能使用的其他内容,例如 localstorageIndexedDB,因此可能还不够。

如果以上所有方法对你都不起作用,那我猜你不走运......

将来可能会使用e10s(多进程 Firefox)做更多花哨的事情,但是不支持或不可能在一个应用程序实例中使用两个配置文件的 IIRC 也不计划(从 Nightly 判断,其中已经有实验性的e10s 支持)。

【讨论】:

  • 嗨,谢谢你的回答,真的很有帮助!我实际上不知道隐私浏览是如何工作的......只要 xulrunner 运行,cookie、会话、本地存储等就会被保留?在这种情况下它可能会起作用,因为我已经在每次启动 xulrunner 时都要求用户/管理员登录
  • 修改了我的答案(更新 1)以解决您的问题。
  • 太棒了!谢谢,看来私人浏览是我一直在寻找的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-14
  • 1970-01-01
  • 1970-01-01
  • 2015-01-18
  • 2015-09-02
  • 2023-04-05
  • 2019-09-18
相关资源
最近更新 更多