繁体   English   中英

关于找出XUL元素的段落在MDN文档中的含义是:“如何将覆盖扩展名转换为不重启”

[英]What does paragraph about figuring out XUL elements mean in MDN document: “How to convert an overlay extension to restartless”

最近,我的一个朋友和我一直在开发Firefox扩展。 他今天将代码交给了我,而我一直在努力使它不会重新启动。 我使用了如何将叠加层扩展转换为无重启(在MDN上)的教程。 由于我一般没有太多使用JavaScript和扩展的经验,所以我想知道是否有人可以帮助理解第6步在本教程中的含义。 他们说我们不能使用“不再有XUL覆盖”,我理解这一点。 我不明白的是这部分如何:

弄清楚您需要为附件添加哪些XUL元素以添加您的界面,它需要进入XUL窗口的位置以及如何执行。 Docs: document.getElementByID()document.createElement()元素引用节点引用 (DOM元素也是节点)。

我决定不使用document.loadOverlay,因为它有很多问题。 我不确定这是否有帮助,但这是我们overlay.xul的代码。 再次,很抱歉,如果这个问题确实很基本,那么我们将不胜感激。 如果我需要提供更多代码,请告诉我。 在这一点上,我认为只有我们overlay.xul文件的代码很重要。

<?xml version="1.0" encoding="UTF-8"?>
<overlay id="my-overlay" 
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    <script type="application/javascript;version=1.7" src="overlay.js"/>
</overlay>

XUL覆盖层可用于Firefox中的各种事物。 第6步:没有其他XUL叠加层比其他可能的叠加侧重于UI元素(例如,正在加载脚本)。

在XUL覆盖扩展中,通常通过为界面的每个部分都提供一个XUL覆盖文件来添加UI元素。 XUL覆盖扩展不需要考虑删除接口元素,因为仅在删除或禁用扩展时才删除它们。

在不重启的扩展中,每次启动扩展时,都会以编程方式添加所有UI元素。 某些UI元素仅添加一次; 并且必须在每个打开的窗口以及每个新窗口打开时都添加一些。 禁用或删除扩展名后,必须以编程方式从Firefox中完全删除UI元素。

您引用的部分试图描述转换实际XUL覆盖图(用于修改Firefox UI)以编程方式插入(和删除)UI元素的过程。 最常见的UI元素可能是工具栏按钮,但可以是任何东西。 因为可以是任何东西,所以描述相对模糊。

整个部分, 第6步:不再使用XUL覆盖 ,肯定可以使用一些扩展。 我记得计划基于将扩展从XUL转换为overlay时使用的代码进行此操作。 我本想稍微清理一下代码,然后考虑更多情况。 但是,在其中举个例子会有所帮助。 我会在下周左右(如果其他人没有击败我)是否可以更新它。

在您的情况下:
根据您在问题中包含的覆盖代码,本节所讨论的并不是您期望的如何使用XUL覆盖。 您引用的部分:

弄清楚您需要为附件添加哪些XUL元素以添加您的界面,它需要进入XUL窗口的位置以及如何执行。 文件:[document.getElementByID()] [3],[document.createElement()] [4],[元素参考] [5],[节点参考] [6](DOM元素也是节点)。

专门讨论在Firefox中添加UI元素,这与叠加层无关。

您需要做的是确定如何将脚本overlay.js应用于要添加的脚本。 请记住,当扩展名被禁用/删除/更新时,您还需要能够将其删除。

为了提供更详细的信息,我们将需要知道要将脚本添加到的内容。 为此,我们可能需要您包括chrome.manifest文件的副本。 知道脚本的功能可能会有所帮助,因为可以更恰当地处理功能,而无需按照叠加所隐含的方式应用脚本。 但是,您应该将此问题作为一个单独的新问题提出,而不要修改此问题以提出不同的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM