选项
为了让用户自定义您的扩展程序的行为,您可能会提供一个选项页面。如果这样做的话,选项页面的链接将会在扩展程序管理页面(chrome://extensions)中显示,单击“选项”链接打开一个新标签页,指向您的选项页面。
使用 storage API 保存这些首选项,这样您的扩展程序中任意脚本都能访问这些值。
第一步:在清单文件中声明您的选项页面
{ "name": "我的扩展程序", ... "options_page": "options.html", ... }
第二步:编写您的选项页面
如下是一个选项页面的例子:<!DOCTYPE html> <html> <head><title>我的测试扩展程序选项</title></head> <body> 我最喜欢的颜色: <select id="color"> <option value="red">红</option> <option value="green">绿</option> <option value="blue">蓝</option> <option value="yellow">黄</option> </select> <label> <input type="checkbox" id="like"> I like colors. </label> <div id="status"></div> <button id="save">保存</button> <script src="options.js"></script> </body> </html>
// 将选项保存在 chrome.storage 中。 function save_options() { var color = document.getElementById('color').value; var likesColor = document.getElementById('like').checked; chrome.storage.sync.set({ favoriteColor: color, likesColor: likesColor }, function() { // 更新状态,告诉用户选项已保存。 var status = document.getElementById('status'); status.textContent = '选项已保存。'; setTimeout(function() { status.textContent = ''; }, 750); }); } // 从保存在 chrome.storage 中的首选项恢复选择框和复选框状态。 function restore_options() { // 使用默认值 color = 'red' 和 likesColor = true 。 chrome.storage.sync.get({ favoriteColor: 'red', likesColor: true }, function(items) { document.getElementById('color').value = items.favoriteColor; document.getElementById('like').checked = items.likesColor; }); } document.addEventListener('DOMContentLoaded', restore_options); document.getElementById('save').addEventListener('click', save_options);
重要提示
- 我们计划提供一些缺省 CSS 样式来鼓励不同扩展程序的选项页面使用一致的外观,您可以将 crbug.com/25317(英文)加星关注更新。