我用B#用C#创建了一个IE工具栏。现在我想制作一个firefox版本。 我打算使用xul,但它会向用户显示源代码。 似乎DLL在Firefox中不是一个好方法。
我尝试了一些像yahoo,google这样的工具栏,它不会在扩展文件夹中创建文件。 我怎么能这样做?
答案 0 :(得分:1)
(请参阅下面关于混淆的说明)
它可能不是开发Firefox扩展的最佳方式,但您绝对可以使用外部DLL构建它们。
在Gecko 2.0之前,您必须使用相当深奥的Mozilla构建工具链在您的扩展中包含已编译的代码。
js-ctypes救援:
https://developer.mozilla.org/en/js-ctypes/Using_js-ctypes
https://developer.mozilla.org/en/js-ctypes/js-ctypes_reference
js-ctypes可以非常轻松地加载外部DLL并将其API绑定到JavaScript函数。
您需要编译DLL的几个不同版本,并让您的JavaScript正确检测平台并加载相应的DLL,但是一旦您回到JavaScript领域,它对所有平台的工作方式基本相同。 / p>
ctypes.libraryName
可帮助您确定DLL在当前平台上的扩展名(例如:.dll for windows,.so for Unix)。
您可以使用其他信息(例如:navigator.userAgent)更具体地确定哪个子平台(例如:Windows 7 64位或Vista 32位)。
更新
在您的扩展/应用程序中包含已编译的DLL有很多充分的理由(例如:速度,特殊功能,第三方库),但如果您的唯一目的是混淆(隐藏源代码),那么......
我不担心我是你。在这个现代世界中,反盗版的技术手段不会让你走得太远 - 如果你的软件足够引人注意,那么会破解它。
我只是忘了它,而是花一点钱买律师。 (版权:yay!专利:不!)