问题标签 [xbl]

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 回答
62 浏览

orbeon - 修改 orbeon-resources-private.jar 文件导致白屏

我正在尝试在 orbeon 中创建自己的自定义组件。

我一直按照文档中的步骤进行操作,它说要解压缩 jar 文件“orbeon-resources-private”,我这样做了,并在文件夹中完成了我需要做的事情。然后我将它压缩到一个 jar 文件中并复制回 orbeon。

当我启动 orbeon 备份时,我得到的只是一个白屏。我检查控制台,发现找不到 GET 404。我勒个去。

接下来我把原来的罐子放回去,它又能用了。所以现在我解开了罐子的拉链,然后又把它拉了回来。(这肯定会奏效)。没什么,还是白屏。

为什么我不能放另一个 jar bar 原件让它工作。

(我尝试过从命令行创建 jar,对其进行压缩并更改文件扩展名,只需将 .jar 添加到文件夹中,都不起作用。)

真的可以对此有所了解...

谢谢

0 投票
0 回答
66 浏览

firefox - 使用 xbl:inherits 在绑定中更改“命令”

我正在制作一个在 Windows 上的 XULRunner 中运行的应用程序。

在那里,我创建了browser-toolbar将在不同地方使用的绑定。虽然绑定需要看起来相同,但它应该在按钮单击时执行不同的命令。

我正在尝试像这样完成它(代码被简化,命名空间被删除):

一旦单击toolbarbutton执行分配的命令就好了。问题是当我禁用 acommand它不会影响相应的禁用状态时toolbarbutton,它会保持启用状态。有谁知道为什么这不起作用?

谢谢!

0 投票
1 回答
245 浏览

orbeon - 在 Orbeon 中将参数传递给 XBL

我创建了这两个简单的文件 view.xhtml:

和 my-name.xbl :

现在我想将参数从我的 view.xhtml 传递给 XBL,所以当用户在xf:input id='test-control'中插入一些东西时,它会导致文本将保存在数据库中。问题是,我的数据库中实际插入的用户不是:

如果我插入 123 而不是预期的 fe

任何人都知道为什么我的代码不起作用以及如何解决这个问题?

0 投票
1 回答
49 浏览

orbeon - Orbeon:在控件的设置中包含复选框

我正在编写我的自定义控件 (XBL) 并想知道:表单生成器中控件的基本设置中可能有复选框,而不仅仅是 xf:input 字段?

我会很感激任何例子。

0 投票
1 回答
406 浏览

orbeon - 在表单生成器中捕获保存事件

我想在表单保存在表单生成器中后发送提交,我起初尝试过这样的事情(在我的 XBL 文件中):

上面的代码放在 xbl:template 之间的 XBL 文件中,在 xbl:model 之外(尽管我试图将它放在 xbl:model 中但没有运气)。不幸的是,它不起作用,在我将表单保存在表单生成器中后,没有显示消息。有人知道为什么它不起作用吗?

0 投票
1 回答
157 浏览

forms - 事件 xforms-model-construct-done 行为

在我的表单中,我想在发布后加载表单后调用 Web 服务。我已经为它创建了自定义 XBL 控件,其中有:

但它没有按预期工作:每次我在 FormBuilder 中添加新元素或更改其他一些控件的名称时都会发送我的提交。一般来说,当我的表单以某种方式发生变化时会发送提交。

现在我希望仅在我发布表单并且有人打开它来填写时才发送提交(当然,当我在 FormBuilder 中按“测试”时,但我想这与发布后填写表单相同)。

我正在尝试这样的事情:

不幸的是它不起作用,这种方式根本不会发送提交。有什么想法吗 ?

0 投票
1 回答
96 浏览

exception - 处理撒克逊人:评估异常

我有一个 XBL 文件,我可以从我的表单中传递一些参数,比如说:

然后我有这样的事情:

问题是什么时候arg1是空字符串(这意味着在我的表单中,当我按下控制设置和跳过arg1字段时,只是将其留空)然后我的表单崩溃。当我插入''或除空字符串(asd、q、任何内容)之外的任何内容时,arg1一切正常。所以现在我想做类似的事情

它不起作用,显然是因为引号问题(条件必须介于两者之间'',我不能在里面加上任何引号),可能还有其他问题。有人可以帮我解决这个问题吗?提前致谢。

更新 :

我想我有点不精确。为了清楚起见,在我的表单中arg1是一个 ID 。xf:input当表单被加载时,我调用一个 REST 服务(你曾经帮助过我,事件 xforms-model-construct-done 行为),它会向我发回一些数据。现在我想将数据填充到我的 xf:inputs 中,上面的代码做得很好。问题是在我的 XBL 中我有很多参数,而不仅仅是arg1, arg2,它看起来更像

现在,当我在我的表单中进入控件的基本设置时,我必须填写所有参数arg1...20。我只想填写我需要的,通常是 3 或 4,其他留空。问题是我不能这样做,因为那样我的表单会崩溃,这是因为 saxon:evalute 如果它的参数为空就会抛出一个异常。

(还要提到所有内容,但我认为它在这里无关紧要,但它可能会帮助您理解我上面的代码:实际上,arg2它是一个 ID,xf:inputarg1类似于 web 服务中资源的路径,我arg2 = "'firstname'"所指的是我的 xf:input 和arg1 =" //CUSTOMER/FIRSTNAME"(无引号)和我的 REST 服务 URL 是http://www.thomas-bayer.com/sqlrest/CUSTOMER/2/。这样我可以在xf:input of id下选择'firstname'我只想插入我从 webservice 获得的整个数据的名字。再说一次,arg4 就像'lastname'和 arg3 会是//CUSTOMER/LASTNAME等等。正如我所说,不要认为它在这里相关)

这就是我想检查空值的原因,我想你的代码应该对我有所帮助 - 不幸的是它不起作用。我的表单不再崩溃,但数据也没有填充到xf:inputs. 也许是因为这个误会?谢谢。

0 投票
1 回答
120 浏览

firefox-addon - Firefox 扩展使用 XBL 转换为无重启

我正在开发一个 Firefox 扩展,需要一些帮助。
我的扩展被覆盖并使用 XBL 绑定向用户界面添加新项目。
是否可以将此扩展转换为引导类型?

我正在尝试向查找栏添加一个按钮。
使用 XBL 覆盖查找栏界面。

从引导程序开始,我在 style.css 中包含“findbar{ -moz-binding:...}”规则,并在 startup() 上注册此表
(使用 nsIStyleSheetService.loadAndRegisterSheet())。
在这种情况下,我的按钮无需重新启动即可添加到栏中。

但是当我禁用或删除插件时,我需要重新启动浏览器以使按钮消失。
我尝试在 bootstrap.js 中的 shutdown() 上使用以下方法将其删除:

但这并没有删除它。我调试了代码并找到并删除了所有元素(fb,但是),但它没有触及我拥有或打开的任何选项卡中的真正查找栏。

所以我试图取消注册将我的 XBL 绑定到查找栏的样式表。这次 findbar 只是没有在当前选项卡中打开。
但是在新标签中它打开并且没有按钮(更好一点......)。

我还发现 findbar 没有在打开的选项卡中打开,因为一个奇怪的错误:“this.browser is undefined”。
此错误指向 findbar.xml 行 533,其中代码尝试运行 _unpdateCaseSensitivity() 但无法获得“gFindBar._browser”属性。
也许是因为从浏览器启动时没有为原始 findbar 对象加载此属性(它被覆盖的 findbar 对象使用)...

所以这是我坚持的重点......

现在的问题是:
如何在不重新启动的情况下删除按钮并打开查找栏?

0 投票
1 回答
144 浏览

orbeon - Orbeon : 一个接一个的提交

在我的表单文件中,我有一个load-data-submission从数据库中获取一些数据的提交,它在 xforms-ready 上调用:

现在,我有一个以相同形式使用的 XBL 控件。还有另一个提交也获取数据等,我们称之为rest-submission。现在,我希望在我的(内部表单文件)获取数据rest-submission之后立即调用(XBL 内部的那个)。load-data-submission

我该怎么做?我试过放入 XBL

没有运气。

提前致谢。

0 投票
0 回答
78 浏览

javascript - 无重启插件升级:在 CustomizableUI 小部件中重新加载 XBL 元素

我制作了一个无需重启的CustomizableUI插件,它是一个基于自定义XBL元素的小部件。对于即将发布的版本,我更改了主要XBL元素<slyzoom>

但是,当我测试升级并使用 DOM Inspector 检查标记时,主要XBL元素不会在当前打开的窗口中刷新 - 只有在新打开的窗口中,该XBL元素才会按预期表达。

我不完全确定问题是否在于CustomizableUI没有正确刷新,或者XBL绑定没有正确刷新。

而且,虽然我不必重新启动 Firefox,但打开一个新窗口以使升级更改生效仍然有点违背了拥有无需重新启动的附加组件的目的,对我来说。

Noitidart 提出的另一个问题似乎暗示了一个类似的问题,尽管 Noitidart 似乎使用了一种稍微不同的加载绑定规则的方法,所以我不完全确定我的问题是否完全相同。

你能说明问题最可能出在哪里吗?

我的1文件相当复杂,所以我只会在这里放一个简化的、精简的版本,只有和和我认为是让它工作的最重要的方面(有关其他评论,请参阅内联评论):bootstrap.jsstartup()shutdown()

1)点击链接查看完整版本