问题标签 [xulrunner]

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.

0 投票
1 回答
384 浏览

xul - 防止 xul 中的内置提示

我有一个在浏览器中加载网页并将其保存到自定义本地文件夹(图像、html、css)的应用程序。在此过程中,需要更改图像的“src”属性(在 html 中)和“background-url”属性(在 css 中)以反映本地保存的文件而不是原始文件。这会产生额外的网络流量,因为更改它们会迫使浏览器从修改的位置下载文件(浏览器通过使用元素的“src”属性的值解析页面的 uri 来做到这一点 - 与“background-url”属性相同)结果,它会生成大量 404 Not Found 请求。

我在保存页面之前使用 nsIIOService 接口离线(页面已完全加载,到目前为止所有网络活动都已停止),然后在保存完成后重新在线。但随后浏览器会显示一个警告框“此文档在脱机时无法显示。要联机,请从“文件”菜单中取消选中“脱机工作”。每当我尝试更改上述属性/属性时。

有什么方法可以防止出现此类消息或使浏览器由于修改了“src”值而无法验证图像?

我尝试在浏览器和 xul 应用程序窗口上使用 DOMWillOpenModalDialog ,但它似乎没有用 - 对话框仍然出现。该应用程序不是用户应用程序,因此当出现此类“内置”消息时很难。

0 投票
1 回答
132 浏览

usb - Xul 有没有办法获得新 USB 设备插入的通知?

Xul 有没有办法获得新 USB 设备插入的通知?

0 投票
1 回答
785 浏览

window - Xul 的 window.blur() 不起作用?有替代方案吗?

我正在尝试使用window.blur()打开一个不聚焦它的窗口(或者聚焦和不聚焦非常快,所以看起来它没有聚焦)。

但是好像不行,有没有其他办法?

我的尝试:

模糊测试.xul:

第二个.xul:

观察。我们可以考虑在打开第二个窗口后使用 setTimeout(window.focus, 1) 将焦点调回我的窗口。但我需要第二个窗口来处理焦点。完美的场景是,如果第二个窗口永远无法获得焦点,只需打开/恢复窗口而不获得焦点。

0 投票
2 回答
1066 浏览

javascript - 在 xul 中,如何检索环境变量?

我有一个名为 的环境$REP,如何在 Linux 环境中使用 Xulrunner 访问此变量的值?

--更新

尝试使用nslEnvironment

输出是:

正如您想象的那样,它应该像在终端中一样输出“/bin/bash”。我也试过用get看看是否只是exists方法错误,但它返回为空。

这里有什么问题?

0 投票
3 回答
881 浏览

javascript - 在 XUL 或 JavaScript 中,有没有办法将鼠标光标移动到指定位置?

在 XUL 或 JavaScript 中,有没有办法将鼠标光标移动到指定位置?

0 投票
1 回答
550 浏览

printing - 在 xul 打印中获取 Printprogress

我正在做这个有很多打印工作的 xul 离线应用程序。无论如何从 xul print 中获取进度/听众,说它是完整的?我现在被这个问题困扰了一段时间,请分享一些关于如何继续的想法。打印代码如下。

.xul 文件

打印功能

0 投票
1 回答
428 浏览

javascript - 如何将事件传递给隐藏的?

我正在使用 XULRunner 1.9.2 围绕浏览器制作一个简单的视图。

我编写了一些 Javascript 来处理MozAfterPaint来自 的事件<browser>,将它们推送到<canvas>with drawWindow,然后做一些魔术。这一切都很好。(好吧,滚动条和光标有点不靠谱,但我可以忽略这些。)

我真的希望画布成为唯一可见的元素,但我现在只能与浏览器元素交互。

我在以下方面取得了部分成功:

  • 在 上捕获事件<canvas>并将它们重新注入到<browser>.

    我可以将每个事件的clientXand用于画布,在浏览器中clientY查找相应的,并适当地查找。document.elementFromPoint(x, y)createEvent initEvent dispatchEvent

    但是,这只适用于key(down/press/up)clickmouse(down/move/up)。我看不到如何合理地合成mouse(over/out)事件,DOMMouseScroll也没有在这里触发,所以我无法捕获滚轮事件。

我没有成功:

  • 将画布堆叠在浏览器上方。

    这需要某种方式来允许事件通过画布并进入浏览器,我还没有真正尝试过,因为有一个更直接的问题:

    即使画布应该堆叠在浏览器上方,浏览器在画布上方也是可见的。

  • 将浏览器堆叠在画布上方,同时使其透明。

    从理论上讲,我根本不应该以这种方式搞乱事件。但是,该opacity设置似乎没有任何好处,而且浏览器仍然会遮挡画布。

如何隐藏浏览器但仍允许正常交互?


(我并不反对编写本机代码,WebKit 的答案也很好。但据我所知,Gecko 和 WebKit 都没有离屏渲染 API,也没有与 和 的 WebKit 等价物MozAfterPaintdrawWindow

0 投票
2 回答
642 浏览

javascript - 如何在 XUL 应用程序中使用进度表?

对于极客来说,这可能是一个简单的问题,但至少对我来说不是。我正在从头开始开发一个简单的XUL程序。我使用wizard标签来简化向用户显示的 GUI。在一个wizard页面上,我插入了一个progressmeter显示调用的函数的进度,该函数myFunction()属于 XUL 文件中可用的 JavaScript。如何progressmeter根据功能的实际进度正确更新?

0 投票
1 回答
609 浏览

xpcom - NS_IMETHODIMP 在 XPCOM 中是什么意思?

我很难在 XPCOM 中找到他的 NS_IMETHODIMP 的含义,我想了解这个函数的签名:

0 投票
3 回答
1762 浏览

javascript - 如何知道网络是否(断开)连接?

在 Xul 中,我如何知道网络是否(断开)连接?

- 更新

使用:

和偏好:

它不起作用.. 这里有一个错误报告,但我认为这与它无关。

--

实际上我认为不可能得到通知,因为即使在 Firefox 中我们也不会收到通知,如果用户希望浏览器知道它处于脱机状态,则需要手动标记“脱机工作”。

--

屏幕截图我的 Firefox“about:config”过滤“离线”字符串,不幸的是,没有“network.manage-offline-status”:

在此处输入图像描述