问题标签 [universalxpconnect]
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.
javascript - XPConnect (Firefox) - 如何从对象中获取价值
我正在尝试从剪贴板 javascript 函数创建读取,并且它通常可以正常工作,但我似乎无法从使用 out 参数(Components.interfaces.nsITransferable)创建的对象中提取实际字符串。如果您想知道,这是针对本地 Intranet 的,并且我已启用剪贴板访问。
这是我为 out 参数创建对象并设置它们的代码部分。我知道它基本上可以工作,因为如果我返回 obj_length.value 它会给我正确的长度(* 2 代表 unicode)。但是,obj.value 只给了我一个 [xpconnect Wrapped nsISupports] 类型的对象。我需要带有剪贴板内容的字符串!
谁能帮我弄清楚如何提取剪贴板内容?我好近!
javascript - 在 Firefox 中通过 JavaScript 打开 Outlook
我想从 Javascript 打开 Outlook,它是用于内部应用程序的,没有任何东西可以访问网络。客户使用的是 IE 和 Firefox,将安装 Outlook,安全性不是问题。
“mailto:” 在这种情况下是不够的,因为要求我需要将文件附加到邮件中,这似乎无法通过使用“mailto:”来完成(发现一些旧的论坛条目,但我尝试过的所有方法都没有奏效,而且似乎mailto URL 方案并未正式支持它)。但是,在 IE 中我可以使用 ActiveX:
然后我就可以乱搞了,加个body,加个附件等等,完美。
在 Firefox 中以任何方式都可能发生这样的事情吗?
我已经知道 tiddlywiki 做了一些非凡的事情,因为它可以以某种方式将自己保存在硬盘上。所以我查看了源代码,发现了这个:
据我了解,其中提供了对浏览器 API/XPConnect/XPCOM 的脚本访问权限。但现在我被困住了。我将如何实际打开 Outlook 对象?这甚至会是一种可行的方法吗?我不知道。也许还有其他想法?任何意见,将不胜感激。
更新:好的,经过一番阅读,我想我可以回答我的一个问题:不,这种方法行不通,因为实现 XPCOM 的 Mozilla API 不支持打开外部程序之类的任何东西。仍然留下一个问题:还有其他想法吗?
javascript - 如何在 JavaScript 中按块读取本地文件?
比如说,我的本地硬盘驱动器上有一个大小为 500 字节的文件,我想从中读取前 100 个字节,而不将整个文件加载到内存中。如何在 JavaScript 的帮助下实现这一点UniversalXPConnect
?当然,仅在 Firefox 中。
javascript - 如何在 JavaScript 中按块读取本地文件?
我学习了如何在 Firefox 中借助 JavaScript 读取本地文件(如何在 JavaScript 中按块读取本地文件?)。
但是我想知道如果我想读取一定范围的字节,而不是前几个字节,但是,比如说,100-200
怎么办?是否可以以某种方式设置偏移量?
javascript - 唯一的选择是将该代码块包含到我的每个函数中?
我的一些功能需要UniversalXPConnect
启用权限。
因此,我的函数如下所示:
实际上,当特权被拒绝时,我也try
例外catch
。如下所示:
我宁愿把它作为一个单独的函数,并从我的函数中调用它,如下所示:
假设enablePrivilege
函数如下:
但是,出于安全原因,这是不可能的,因为特权仅在请求功能的范围内被授予。
那么,唯一的选择是将该代码块包含在我的每个函数中吗?
更新:
正如我还将try
讨论catch
其他一些例外情况,我最终得到了以下设计:
javascript - Firefox 17 中的 UniversalXPConnect 权限错误
我有一个小型 Web JS,它可以在 iframe 中复制和插入一些表单数据。但它在 Firefox 17 中不起作用。我正在使用以下代码:
有什么问题?有什么解决方法吗?