簡體   English   中英

如何調試Firefox擴展?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM