GM_config (eight's version)

A library to help you set up configure in greasemonkey script.

目前為 2015-06-12 提交的版本,檢視 最新版本

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.cn-greasyfork.org/scripts/7212/56648/GM_config%20%28eight%27s%20version%29.js

作者
eight
版本
1.0.0
建立日期
2014-12-29
更新日期
2015-06-12
尺寸
13.4 KB
授權條款
LGPL version 3 or any later version

GM_config

A library to help you set up configure in greasemonkey script.

This project is a rewrite of sizzlemctwizzle/GM_config and use the interface similar to GM_config (JoeSimmons).

Features

  • Simple API to init config.
  • Can save boolean(checkbox), integer(number), and text.

Test Page

https://rawgit.com/eight04/GM_config/master/demo.html

Usage Examples

GM_config.init(
    "Title",
    {
        "optionName": {
            "label": "An option",
            "type": "checkbox",     // 'checkbox', 'number', 'text', 'textarea'
            "default": true
        },
        "option2Name": {
            "label": "Another option",
            "type": "number",
            "default": 100
        }
    }
);

GM_config.onclose = function(){
    // callback function...
};

GM_config.open();   // Open config dialog

GM_config.get();
/*
->
{
    optionName: true,
    option2Name: 100
}
*/

Build

Using NodeJS, Bower, Grunt:

npm install
bower install
grunt

Todos

  • It may conflict with some CSS rules in original webpage. Use iframe instead?
  • Remove localStorage compatibility?
  • Add ability to configure settings by domains.

License

LGPL version 3 or any later version; http://www.gnu.org/copyleft/lgpl.html

Changelog

  • 1.0.0 (Jun 13, 2015)
    • Fix license issue.
  • 0.3.1 (Apr 16, 2015)
    • Now you can pass a reference object to GM_config.get().
  • 0.3.0 (Apr 13, 2015)
    • Support textarea.
  • 0.2.2 (Dec 29, 2014)
    • Fix bugs in setValue.
  • 0.2.1 (Dec 29, 2014)
    • Add z-index to config-dialog.
  • 0.2.0 (Dec 29, 2014)
    • Return config object after init.
  • 0.1.0 (Dec 29, 2014)
    • First release.