[英]how debug a Firefox extension?
如果我們旁邊有html和JavaScript代碼,並且我的JavaScript中有未定義的變量,則可以在Firefox開發工具(F12)中看到錯誤。 現在,我正在開發擴展程序,但在任何地方都看不到錯誤。
我在此鏈接中閱讀了有關設置擴展開發環境的信息,但這對我沒有幫助。
我在stackoverflow中看到類似的問題,但它們並沒有幫助我。
<html>
<p id='p1' onclick='add()'>1</p>
<script>
function add(){
p1 = document.getElementById('p1')
p1.innerText++
}
observer = new MutationObserver(function(mutations){
console.log(mutations)
});
observer.observe(p1,{
childList :true
});
</script>
</html>
在這種情況下,如果我寫的是p2而不是p1,我在DevTools Console中會看到類似:Uncaught RefrenceError ...
但是,如果我使用javascript代碼作為擴展名,則無法調試或看到錯誤
p1 = document.getElementById('p1')
observer = new MutationObserver(function(mutations){
console.log(mutations)
});
observer.observe(p1,{
childList :true
});
我擴展的目標是跟蹤頁面中的更改並記錄它們。 但我在擴展工具的DevTool控制台中看不到錯誤。
編輯:問題是當我加載擴展程序時,調試器為空。(我看不到我的js文件)
為什么?
第一步,您需要修復JavaScript。
1-用var,let,const聲明變量(也最好用;來關閉代碼;您可以通過搜索Google閱讀一些“ JavaScript最佳做法”)
const p1 = document.getElementById('p1');
2- ++用於數字,而p1的內容是文本文件'1'
3-您必須將值重新分配給元素
這是一個例子:
function add(){
const p1 = document.getElementById('p1');
p1.textContent = parseInt(p1.textContent) +1;
}
您正在使用哪個調試器?
您是否去過about:debugging
-> This Nightly
->您的擴展程序-> inspect
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.