diff options
author | anekos | 2009-05-11 19:34:00 +0000 |
---|---|---|
committer | anekos | 2009-05-11 19:34:00 +0000 |
commit | 4be0bf0b83a3273dadbc58b5d2adf981b0e2f9d8 (patch) | |
tree | 02220309dc1fdae0ca42e344c0a45780ccd859ab | |
parent | cd3ec739fe5d360b22f7e8ec990c2817c25f7bea (diff) | |
download | vimperator-plugins-4be0bf0b83a3273dadbc58b5d2adf981b0e2f9d8.tar.bz2 |
整数を設定すると誤認するのを修正
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@33248 d0d07461-0603-4401-acd4-de1884942a52
-rw-r--r-- | commandBookmarklet.js | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/commandBookmarklet.js b/commandBookmarklet.js index 48b43d5..829c9cd 100644 --- a/commandBookmarklet.js +++ b/commandBookmarklet.js @@ -11,7 +11,7 @@ let PLUGIN_INFO = <description>convert bookmarklets to commands</description> <description lang="ja">ブックマークレットをコマンドにする</description> <author mail="halt.feits@gmail.com">halt feits</author> -<version>0.6.5</version> +<version>0.6.6</version> <minVersion>2.0pre</minVersion> <maxVersion>2.1pre</maxVersion> <updateURL>http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/commandBookmarklet.js</updateURL> @@ -84,11 +84,17 @@ items.forEach(function (item) { ); }); -function stringToBoolean(str, defaultValue) { - return !str ? defaultValue - : str.toLowerCase() === 'false' ? false - : /^\d+$/.test(str) ? parseInt(str) - : true; +function toBoolean (value, def) { + switch (typeof value) { + case 'undefined': + return def; + case 'number': + return !!value; + case 'string': + return !/^(\d+|false)$/i.test(value) || parseInt(value); + default: + return !!value; + } } function evalInSandbox (str) { @@ -98,7 +104,7 @@ function evalInSandbox (str) { } function evalScript (url) { - if (stringToBoolean(liberator.globalVariables.command_bookmarklet_use_sandbox, false)) { + if (toBoolean(liberator.globalVariables.command_bookmarklet_use_sandbox, false)) { evalInSandbox(decodeURIComponent(url.replace(/^\s*javascript:/i, ''))); } else { liberator.open(url); |