2015-05-30 232 views
0

在我的擴展的manifest.json的,我加了這一點:Chrome擴展選項

"options_ui": { 
     "page": "options.html", 
     "chrome_style": true 
    }, 

我的選項頁面(options.html)具有結束標記之前這一權利:

<script src="options.js"></script> 

options.html和options.js都在同一個文件夾中。 options.js始於此:

console.log('options.js'); 

問題:我加載正在開發的擴展(允許開發者模式)。我的選項頁面顯示正常,但腳本未加載。我已經在該文件中定義了事件處理程序,它們什麼都不做。 options.js未被執行。

我按照所有說明here,但它只是不起作用。

回答

1

新的「chrome_style」選項實際上並沒有顯示任何記錄到控制檯槽console.log,你的腳本可能是好的,嘗試添加一些東西到dom。

在腳本的開頭添加這,看看發生在你的瀏覽器選項頁中的任何錯誤:

var errorText = document.createElement("div"); 
document.body.appendChild(errorText) 
window.onerror = function (msg, file, line, column) { 
    errorText.innerHTML = msg + '<br>' + file + ' ' + line + ':' + column; 
} 

編輯: 選項界面內點擊右鍵,選擇「檢查元素」 ,它會打開相應的調試器。

+0

嗯,好吧。我做了你告訴我的並且看到它被加載了。所以現在我需要找出爲什麼事件處理程序不工作... – reggie

+0

是的選項頁面開發是棘手的,因爲你不能調試代碼ether,請參閱我可以使用的腳本的更新答案。 –

+0

謝謝。這非常有幫助。我發現有一個'Uncaught TypeError:無法讀取未定義'錯誤的屬性'同步'。我必須爲擴展設置存儲權限。 – reggie

1

事實證明,新的options_ui確實會將事情記錄到控制檯,而不是您使用「查看」「Javascript控制檯」查看的控制檯。相反,請右鍵單擊打開的選項頁面和「檢查元素」。這將帶來正確的「開發者菜單」。