gpt4 book ai didi

javascript - Mozilla 扩展命名空间 : How to differentiate between my function and functions from other packages?

转载 作者:行者123 更新时间:2023-11-29 10:53:59 25 4
gpt4 key购买 nike

我正在开发一个 Firefox (FF) 扩展,并在按下 FF 上的特定按钮时调用一个函数。有时,FF 无法从我的脚本文件中找到我的函数,即使它存在。相反,它会在浏览器扩展中搜索它并抛出错误。

一般来说,我如何在我的函数之前使用命名空间,以明确区分它与其他包中可能具有相同名称的函数。

例如:是否有类似的东西:

<script type="application/javascript" src="chrome://mythird/content/script.js"/>
<statusbar id="status-bar">
<statusbarpanel id="mythird-statusbarpanel" label="mythird" onclick="chrome://mythird/myalert();"/>
</statusbar>

而不仅仅是:

    <statusbarpanel id="mythird-statusbarpanel" label="mythird" onclick="myalert();"/>

最佳答案

您可以使用普通对象作为函数的命名空间。为该对象指定您的扩展名称(它应该是独一无二的并且很棒),这样您应该就省事了。

在你的脚本文件中:

var gYourExtensionName = {};

gYourExtensionName.myalert = function(){/*...*/};

在 XUL 中:

<script type="application/javascript" src="chrome://mythird/content/script.js"/>
<statusbar id="status-bar">
<statusbarpanel id="mythird-statusbarpanel"
label="mythird"
onclick="gYourExtensionName.myalert()" />
</statusbar>

您还应该阅读:Firefox Extensions: Global Namespace Pollution

关于javascript - Mozilla 扩展命名空间 : How to differentiate between my function and functions from other packages?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4309180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com