我只想包含jQuery,然后我的自定义JS文件来调用ready()事件。为了测试我在我的.js文件上发出警报,它运行正常。现在,当我更改我的js文件的内容时,它会保持同样的旧警报。现在在控制台中显示:
无法读取Chrome清单 '文件:/// C:/Program%20Files/Mozilla%20Firefox/extensions/%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D/chrome.manifest'。
为什么调用JS文件,特别是jquery函数这么难?
我的文件内容如下:
chrome.manifest用于
content myext content/
overlay chrome://browser/content/browser.xul chrome://myext /content/myext.xul
myext.xul
<?xml version="1.0"?>
<overlay id="Scrapper-Overlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://fbpicker/content/functions.js" />
</overlay>
functions.js
最初我把警告('测试'); 弹出。后来我说:
window.addEventListener('load', function () {
gBrowser.addEventListener('DOMContentLoaded', function ()
{
alert("addd");
}, false);
}, false);
但它会继续显示 test 作为弹出窗口。
为什么FF会缓存内容以及如何删除内容?
在控制台上我收到以下警告:
Timestamp: 8/6/2013 2:15:32 PM
Warning: XUL box for _moz_generated_content_before element contained an inline #text child, forcing all its children to be wrapped in a block.
Source File: chrome://global/content/bindings/toolbar.xml
Line: 382
Timestamp: 8/6/2013 2:15:32 PM
Warning: XUL box for _moz_generated_content_before element contained an inline #text child, forcing all its children to be wrapped in a block.
Source File: chrome://global/content/bindings/browser.xml
Line: 0
Timestamp: 8/6/2013 2:15:34 PM
Warning: Key event not available on some keyboard layouts: key="b" modifiers="accel,alt"
Source File: chrome://browser/content/browser.xul
Line: 0
Timestamp: 8/6/2013 2:15:30 PM
Warning: Unknown property 'order'. Declaration dropped.
Source File: resource://gre-resources/ua.css
Line: 46
答案 0 :(得分:3)
请参阅有关MDN的"Setting up an extension development environment"文章,特别是有关nglayout.debug.disable_xul_cache
的内容。此外,Firefox extension proxy file
非常有用。
虽然该页面讨论了很多Firefox,但大多数内容也适用于其他Mozilla驱动的应用程序,例如Thunderbird,Seamonkey或InstantBird。
JFYI:在扩展中使用jquery,特别是基于XUL叠加的扩展,虽然有些不鼓励,但只要你最好load it as a subscript,或者至少.noConflict()
它。这是因为叠加共享相同的范围/命名空间。有关详细信息,请参阅XUL School教程中的JavaScript Object Management。