From 4be0bf0b83a3273dadbc58b5d2adf981b0e2f9d8 Mon Sep 17 00:00:00 2001 From: anekos Date: Mon, 11 May 2009 19:34:00 +0000 Subject: 整数を設定すると誤認するのを修正 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@33248 d0d07461-0603-4401-acd4-de1884942a52 --- commandBookmarklet.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'commandBookmarklet.js') 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 = convert bookmarklets to commands ブックマークレットをコマンドにする halt feits -0.6.5 +0.6.6 2.0pre 2.1pre http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/commandBookmarklet.js @@ -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); -- cgit v1.2.3