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