问题标签 [xpcom]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 是否可以在不关闭浏览器的情况下删除或使 gecko / firefox 会话无效?
是否可以使用 gecko / firefox XPCOM 界面在不关闭浏览器的情况下删除或使用户的活动会话无效?我在应用程序中使用嵌入的 Gecko(特别是GeckoFX),在该应用程序的整个生命周期中,多个用户可能会使用浏览器组件。
该应用程序将网络浏览与各种其他功能打包在一起,当网络浏览器“关闭”时,应用程序保持打开状态。似乎就 gecko 引擎而言,由于进程尚未关闭,活动会话仍然处于活动状态。例如,如果用户要登录 Gmail 或 Facebook,然后关闭浏览器,在重新打开浏览器并导航回其中一个页面时,该用户被确定仍处于登录状态。因为多个用户可以使用该应用程序如果应用程序没有实际退出,这会引发隐私问题。
我曾尝试在浏览器控件的构造函数/处理方法中调用NS_InitXPCOM2和NS_ShutdownXPCOM,但是在进程的生命周期内不能在 NS_ShutdownXPCOM 之后调用 NS_InitXPCOM2,所以这只会崩溃。
我还使用了 nsISHistory 的 PurgeHistory 方法和nsICacheService的evictEntries方法——这些方法似乎都没有在进程的生命周期内立即产生影响。
有谁知道可以实现此目的的任何 XPCOM 接口?或者,任何指向类似功能方向的指针,无论是通过 XPCOM 接口还是 Firefox 扩展,都将不胜感激(是否有任何扩展允许您在不重新打开浏览器的情况下清除当前浏览会话?或者为您提供每个之间的不同会话Firefox 窗口/选项卡?)
该程序是用 C# 编写的,但是任何语言的答案都值得赞赏。
非常感谢
c++ - XPCOM C++:它支持正则表达式吗?
我正在开发一个必须使用一些 RegExps 函数的 XPCOM C++ 组件
XPCOM C++ 是否具有对 RegExps 的内置支持?
java - 在 Java + Mozilla XPCOM 中获取 HTTP 流的内容
我经常阅读 StackOverflow 作为获取答案的来源;但现在我有一个非常具体的问题,我在互联网上找不到任何数据。我相信你会一如既往地乐于助人!:D
基本上,我依靠 Mozilla 的 XULRunner 及其 XPCOM 对象来分析 Linux 上 Java 应用程序中 SWT 浏览器的 HTTP 流。
很大程度上基于 Java SWT 网站上的 Snippet128 和 Snippet321(不能发布超过 1 个 URL,抱歉 :/ ),到目前为止,我的浏览器可以使用 nsIHttpHeaderVisitor 解析所有 HTTP 标头 - 并做一些漂亮的事情,例如在树之类的。
完整来源在这里。
现在……这已经很不错了。它涵盖了我想做的大部分事情(起初的学校作业,比要求的更进一步!)。
但我真正想要的是能够从每个 HTTP 请求中获取原始“内容”数据:当然是 HTML;还有 CSS 和图像。
我一直在尝试不同的方法来实现这个目标,但到目前为止一切都失败了:
使用 XPCOM 对象——哪一个?
- nsIInputStream 将是一个不错的选择。但我似乎无法找到好的流实际上在哪里...... nsIHttpChannel open() 方法(返回一个 nsIInputStream)似乎被 SWT 浏览器调用,让我无法获取流回来。
- nsIRequest:没有运气。
- 另一个我会错过的听众?我只花了一个小时尝试使用 nsIHttpActivityObserver 接口,但它没有给我任何 HTTP 内容(只有 GET 和 200 OK)。
使用另一个对象
- 例如 SWT 的浏览器。好吧,它有点工作:它的 getText() 方法为我提供了我正在访问的页面的 html 源代码。但我想要更多!
我真的被困在这里,我将非常感谢任何帮助。
干杯!
弗洛朗
xul - 如何阻止firefox通过firefox扩展下载和应用CSS?
提前感谢大家-
所以我已经在这个问题上讨论了很长一段时间,并且已经完成了我所有的选择。我目前取消 css 请求的方法是在 nsIWebProgressListener.onStateChange 中使用 nsIRequest.cancel。这在大多数情况下都有效,除非当事情有点滞后时,一些会在我到达它们之前滑过并跳出负载组。这显然是一个肮脏的解决方案。
我已经阅读了以下链接,以尝试更好地了解如何在创建 nsIRequest 之前禁用 css ......没有骰子。
https://developer.mozilla.org/en/Document_Loading_-_From_Load_Start_to_Finding_a_Handler https://developer.mozilla.org/en/The_life_of_an_HTML_HTTP_request https://developer.mozilla.org/en/Bird 's_Eye_View_of_the_Mozilla_Framework
如何通过演示对象/接口禁用 css?这可能吗?在 nsIDocShell 内部,有一些属性暗示您可以通过浏览器 docshell 禁用 css - allowPlugins、allowJavascript、allowMetaRedirects、allowSubframes、allowImages。
有什么建议么?
谢谢,
山姆
mozilla - 我要链接 gecko 1.9.3 SDK 中的哪个库以使用 moz_xmalloc()?
我正在尝试将我的 XPCOM 扩展与 1.9.3a3pre SDK 链接起来,我得到以下信息:
错误 LNK2001:未解析的外部符号 _moz_xmalloc
那么,我需要链接到什么库?文档没有说 。
这现在在 Windows 上,但我也需要它在 Mac 和 Linux(32 位/64 位)上构建。
编辑:现在有赏金。
编辑:更新:原来FF3.7被取消了。所以在FF4之前我不必担心这个。
firefox - Firefox隐藏窗口中的iFrame与contentWindow.history?
我正在尝试在我的 Firefox 扩展中运行具有内容权限的托管脚本。为此,我在隐藏窗口中创建了一个内容 iframe,指向一个提取脚本的 html 文件。此脚本要求“历史”可用,但在隐藏窗口中创建的 iframe 由于某种原因没有历史。
Chromebug 为 iframe 的 contentWindow.history 报告了这一点:
object does not support history (nsIDOMHistory)
当脚本不可用时,该脚本会给出此错误:
Error: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHistory.length]
有任何想法吗?
xpcom - 是否需要在我的代码中包含一些内容来调用这些组件?
我正在使用 Firefox/3.6。上面的代码没有被调用。我想是否需要在我的代码中包含一些东西来调用这些组件。在我的浏览器中,这些 XPComponent 在我使用 ** 检查时可用
XPComViewer。
请尽快回复。
问候,拉胡尔……
我只喜欢这个,但我收到以下错误:
错误:http://localhost:8080获取属性 XPCComponents.classes 源文件的权限被拒绝:localhost:8080/ViewerSoln 行:60
我正在 Firefox 2.0 和 3.6 上尝试这个。它的windows环境。请尽快给我一些建议。
谢谢你,拉胡尔。
python - 使用 Python Virtualbox API 有什么好处?
使用 python virtualbox API 代替 XPCOM 有什么好处?
xul - “onload”脚本完成后如何通知我
加载 html 页面时收到通知
-> onStateChange,状态标志:STATE_IS_NETWORK + STATE_STOP
但是当页面加载并且 onload 脚本完成运行时我需要通知。
有什么提示吗?谢谢
javascript - 在没有 .idl 的 Javascript 中使用 C++ 类
是否可以在其接口未通过 .idl 文件公开的类上调用方法?
我的特殊情况是,我想使用@mozilla.org/gfx/fontmetrics;1类,其接口nsIFontMetrics没有对应的 .idl 文件。