Chrome扩展开发指南(4)——Options Pages(选项页面)

Chrome扩展开发指南(4)——Options Pages(选项页面)

你可以提供一个选项页面(Options Pages)让用户自定义你的扩展。如果设置了选项页面,那么扩展管理页chrome://extensions将会有一个链接指向选项页面。

定义选项页面包括两步:

1、在manifest中定义选项页
  1. {
  2.   "name": "My extension",
  3.   ...
  4.   "options_page": "options.html",
  5.   ...
  6. }
复制代码

上例中,options_page代表选项页面,options.html是具体的文件地址。

2、编写选项页面

选项页面是一个典型的网页,下面是一个选项页面的例子:

  1. <html>
  2. <head><title>My Test Extension Options</title></head>
  3. <script type="text/javascript">

  4. // Saves options to localStorage.
  5. function save_options() {
  6.   var select = document.getElementById("color");
  7.   var color = select.children[select.selectedIndex].value;
  8.   localStorage["favorite_color"] = color;

  9.   // Update status to let user know options were saved.
  10.   var status = document.getElementById("status");
  11.   status.innerHTML = "Options Saved.";
  12.   setTimeout(function() {
  13.     status.innerHTML = "";
  14.   }, 750);
  15. }

  16. // Restores select box state to saved value from localStorage.
  17. function restore_options() {
  18.   var favorite = localStorage["favorite_color"];
  19.   if (!favorite) {
  20.     return;
  21.   }
  22.   var select = document.getElementById("color");
  23.   for (var i = 0; i < select.children.length; i++) {
  24.     var child = select.children[i];
  25.     if (child.value == favorite) {
  26.       child.selected = "true";
  27.       break;
  28.     }
  29.   }
  30. }

  31. </script>

  32. <body οnlοad="restore_options()">

  33. Favorite Color:
  34. <select id="color">
  35. <option value="red">red</option>
  36. <option value="green">green</option>
  37. <option value="blue">blue</option>
  38. <option value="yellow">yellow</option>
  39. </select>

  40. <br>
  41. <button οnclick="save_options()">Save</button>
  42. </body>
  43. </html>
复制代码
注意事项

早期版本的chrome可能不支持这个功能。

我们正计划提供一个默认的css来使得不同扩展的选项页面保持风格一致,你可以从这里(http://crbug.com/25317)查看最新的进展。

知识补充

上面的例子中使用LOCALSTORAGE保存数据,具体介绍可以查看《使用LOCALSTORAGE保存数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值