问题标签 [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.
javascript - 为什么在 Xul 的 XBL 中我不能从 window.opener 调用方法?
我有一个 XBL 方法:
并且,在一个新打开的窗口中,我调用:
但它说
window.opener.getChannel 不是函数
为什么?
xul - 从 XBL 调用方法
从 XBL 方法中,当我需要调用另一个方法时,我喜欢:
我想知道是否有一种方法可以调用本地方法而不需要元素 ID?我试过this.myMethod_1()
了,但它说该方法不存在。
javascript - 在 XBL 中避免 javascript 的“this”错误的最佳方法
谈论 XBL 并不完全是谈论 javascript。因此,我将创建与此相关的这个问题,但现在是关于 XBL,我不是根 javascript 代码的创建者,而只是绑定中的方法和事件处理程序的创建者。
--
在某些情况下,this
关键字可能不是我期望的对象。(最近的例子:在一个关键事件中,在我的 XBL 中)
避免这种错误的最佳方法是什么?
现在,我总是使用getElementById
(或$.fn
来自 jQuery),但我不确定它是否是最好的方法。
- 更新
更多细节:
在XBL 方法中,访问Xul文件(GUI 描述文件)中定义的元素而不使用“this”(因为它可能不是我期望的“this”)的唯一方法是使用 getElementById,这使得代码不可重用,所以我正在寻找替代品..
javascript - 为什么这个处理程序不限于 CTRL+L?
我有一个带有以下签名的 XBL 处理程序:
如您所见,它应该在用户按下时触发CTRL+L
。但是,由于某种原因,它会在用户按下 CTRL+ 时触发。
为什么?以及如何使其专门用于CTRL+L
?
javascript - 如何在 xbl 中添加/包含 js 文件?
我已经阅读并找到了在 XBL 中添加 js 文件的技术,但这些技术不起作用。我试图声明标签:<'script src='test.js''>
和<'script src='chrome://content/test.js '>
,但没有奏效。
测试类中的方法很简单function caller() { alert("call succeeded"); }
。
是否有一种正确且简单的方法将 js 文件包含在 XBL 中,因此从文件中调用函数就像函数是在 XBL 中编写的一样工作。
firefox-addon - XBL 在面板上不能很好地工作?
我发现 xbl 元素在出现之前不会初始化。因此,当我将 xul 框元素添加到面板并将其绑定到我的 xbl 时,我不能像这样使用:box.xblMethod(),FF 将抛出 xblMethod 未定义。问题是我怎么知道什么时候可以调用 xblMethod?有没有人遇到过这个问题?提前谢谢!
xforms - 如何使用 restful 请求来填充 XBL 控件?
我希望你们中的一些 XForms 专家可以提供帮助。我有一个通过一堆 xbl 控件填充的大型 XFroms 模型。其中一个控件需要使用从一个 restful url 检索到的 XML,它返回模型的 XML。
我假设 XForms 提交 (GET) 可以解决问题,但我不知道如何实现这一点。
能否请一位 XForms 专家发布一个小示例来说明如何实现这一点。
非常感谢您提前。
xforms - XForms:如何使用 select1 呈现未选择项目的单选组
我正在使用 XBL 在我的 XForm 上呈现各种控件。其中之一是具有 4 个选项的无线电组。我正在使用外观=“完整”和数据本身的项目集。但是,当呈现单选组时,会选择最后一个选项。我需要删除它,以便最初没有选择任何按钮。
我一直在兜圈子试图让它发挥作用。如果你们中的任何一个 XForms 专家可以发布一个简短的示例来说明我如何实现这一点,我将永远感激不尽。
提前致谢。
xslt - orbeon:在绑定文档的 xbl 中应用 xslt 变换
在 Orbeon Forms 中,我需要创建一个组件(使用 XBL),当绑定到类似的实例时
像这样创建一个可编辑的 div:
我的想法是我需要使用 XSLT 来做到这一点。当要转换的 XML 在 xforms 文档中时,我得到了这个工作:
但我想让 XSLT 在绑定节点上运行,如下所示:
但是,我无法从 XSLT 访问绑定节点。
我的问题:这是不可能的吗?还是我必须修改我的 XBL?
我的 XBL 代码:
任何帮助将不胜感激,
编辑:在对 tohuwawohu (下)的有用评论之后,您似乎需要定义一个绑定到实例数据的变量。像这样:
但是,XSLT 元素仍然不能作用于数据。它只能生成 XFORMS 元素,这些元素可以作用于数据。这意味着永远不会选择像 <xsl:template match="OCp"> 这样的东西。这就是上面代码使用命名模板的原因。所以问题仍然存在:绑定的数据是否可用于 xslt 代码?
马汀