<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>ToolBoxy</title><description></description><managingEditor>noreply@blogger.com (QQBoxy)</managingEditor><pubDate>Wed, 9 Oct 2024 11:39:58 +0800</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">20</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><link>http://toolboxy.blogspot.com/</link><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle/><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><item><title>整理csv雙引號工具</title><link>http://toolboxy.blogspot.com/2019/10/csv.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Wed, 16 Oct 2019 14:05:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-8497961016880135467</guid><description>&lt;div&gt;
    Input:
    &lt;br /&gt;
    &lt;textarea id="rowdata" cols="40" rows="10" onclick="select()"&gt;&lt;/textarea&gt;
&lt;/div&gt;
&lt;div&gt;
    Output:
    &lt;br /&gt;
    &lt;textarea id="newdata" cols="40" rows="10" onclick="select()"&gt;&lt;/textarea&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
    let timer = 0;
    document.getElementById("rowdata").onkeyup = () =&gt; {
        if (timer) clearTimeout(timer);
        timer = setTimeout(() =&gt; {
            const lines = document.getElementById("rowdata").value.split("\n");
            const opt = document.getElementById("newdata");
            opt.value = "";
            lines.forEach(line =&gt; {
                const isMatch = line.match(/^[^,]+,[^\"\s]/i);
                if(isMatch) {
                    opt.value += line.replace(",", ",\"") + "\"\r\n";
                } else {
                    const isNullMatch = line.match(/^[^,]+,$/i);
                    if(isNullMatch) {
                        opt.value += line + "\"\"\r\n";
                    } else {
                        const isTailMatch = line.match(/\"$/i);
                        if(isTailMatch) {
                            opt.value += line + "\r\n";
                        } else {
                            opt.value += line + "\\r\\n";
                        }
                    }
                }
            });
        }, 1000);
    };
&lt;/script&gt;
&lt;br /&gt;
&lt;br /&gt;
原始碼：&lt;br /&gt;
&lt;script src="https://gist.github.com/QQBoxy/151d64264ae1b763166d43bc67a2a755.js"&gt;&lt;/script&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>隨機配對兩組資料</title><link>http://toolboxy.blogspot.com/2018/08/lottery.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Fri, 10 Aug 2018 17:14:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-6160604819326567353</guid><description>輸入1
&lt;textarea id="ipt" style="width:100%" rows="10" onclick="select()"&gt;1&amp;#13;&amp;#10;2&amp;#13;&amp;#10;3&lt;/textarea&gt;
輸入2
&lt;textarea id="mpt" style="width:100%" rows="10" onclick="select()"&gt;a&amp;#13;&amp;#10;b&amp;#13;&amp;#10;c&lt;/textarea&gt;
配對結果
&lt;textarea id="opt" style="width:100%" rows="10" onclick="select()"&gt;&lt;/textarea&gt;
&lt;button id="lottery"&gt;Lottery&lt;/button&gt;
&lt;script type="text/javascript"&gt;
    function $(id) {
        switch (id.substr(0, 1)) {
            case '#':
                return document.getElementById(id.substr(1));
            case '.':
                var elems = document.body.getElementsByTagName('*');
                var target = id.substr(1);
                var result = [];
                for (i = 0; i &lt; elems.length; i++) {
                    if ((elems[i].className).indexOf(target) != -1) result.push(elems[i]);
                }
                return result;
            default:
                return document.getElementsByTagName(id);
        }
    }
    var shuffle = function (len) {
        var i = 0;
        var result = [];
        for (i = 0; i &lt; len; i++) {
            result[i] = i;
        }
        for (i = 0; i &lt; len; i++) {
            var r = parseInt(Math.random() * len);
            if (i != r) {
                var temp = result[i];
                result[i] = result[r];
                result[r] = temp;
            }
        }
        return result;
    };
    window.onload = function () {
        $("#lottery").onclick = function () {
            var i = 0;
            var ipt = $("#ipt").value.split("\n");
            var mpt = $("#mpt").value.split("\n");
            var len = ipt.length;
            var rand = shuffle(len);
            var opt = [];
            for (i = 0; i &lt; len; i++) {
                var item = mpt[rand[i]] ? mpt[rand[i]] : "None";
                opt.push(ipt[i] + "-" + item);
            }
            $("#opt").value = opt.join("\n");
        }
    };
&lt;/script&gt;
&lt;br /&gt;
&lt;br /&gt;
原始碼：&lt;br /&gt;
&lt;script src="https://gist.github.com/QQBoxy/a8207aacc27eb306320b21bcf6a5eb5a.js"&gt;&lt;/script&gt;
&lt;br /&gt;
後記：&lt;br /&gt;
用來隨機配對兩筆資料。</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>整理問卷客製化工具</title><link>http://toolboxy.blogspot.com/2017/10/blog-post.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Tue, 24 Oct 2017 16:20:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-4999994460757511056</guid><description>&lt;div&gt;
 Input:
 &lt;br /&gt;
 &lt;textarea id="rowdata" cols="40" rows="10" onclick="select()"&gt;&lt;/textarea&gt;
&lt;/div&gt;
&lt;div&gt;
 Sort out:
 &lt;br /&gt;
 &lt;textarea id="sortout" cols="40" rows="10" onclick="select()"&gt;&lt;/textarea&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
 var timer = 0;
 var compute = function () {
  if (timer) clearTimeout(timer);
  timer = setTimeout(function () {
   var sum = 0;
   var items = document.getElementById("rowdata").value.split("\n");
   var sort = document.getElementById("sortout");
   sort.value = "";
   var i = 0;
   for (i=1;i&lt;items.length;i++) {
    var nums = items[i].match(/[0-9]/gi);
    var ans = "未填";
    if(nums) {
     nums.sort(function(a, b) {
      return a &gt; b;
     });
     ans = nums.reduce(function(sum, value) {
      return sum + "," + value;
     });
    }
    var text = items[i].replace(/[0-9]/gi, '');
    sort.value += ans + "\t" + text + "\n";
   }
  }, 100);
 };
 document.getElementById("rowdata").onkeyup = compute;
 compute();
&lt;/script&gt;
&lt;br /&gt;
原始碼：&lt;br /&gt;
&lt;pre class="brush:html;highlight:[0];"&gt;
&amp;lt;div&amp;gt;
    Input:
    &amp;lt;br /&amp;gt;
    &amp;lt;textarea id="rowdata" cols="40" rows="10" onclick="select()"&amp;gt;&amp;lt;/textarea&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div&amp;gt;
    Sort out:
    &amp;lt;br /&amp;gt;
    &amp;lt;textarea id="sortout" cols="40" rows="10" onclick="select()"&amp;gt;&amp;lt;/textarea&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;script type="text/javascript"&amp;gt;
    var timer = 0;
    var compute = function () {
        if (timer) clearTimeout(timer);
        timer = setTimeout(function () {
            var sum = 0;
            var items = document.getElementById("rowdata").value.split("\n");
            var sort = document.getElementById("sortout");
            sort.value = "";
            var i = 0;
            for (i=1;i&amp;lt;items.length;i++) {
                var nums = items[i].match(/[0-9]/gi);
                var ans = "未填";
                if(nums) {
                    nums.sort(function(a, b) {
                        return a &amp;gt; b;
                    });
                    ans = nums.reduce(function(sum, value) {
                        return sum + "," + value;
                    });
                }
                var text = items[i].replace(/[0-9]/gi, '');
                sort.value += ans + "\t" + text + "\n";
            }
        }, 100);
    };
    document.getElementById("rowdata").onkeyup = compute;
    compute();
&amp;lt;/script&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
後記：&lt;br /&gt;
手工將問卷轉成數位時使用，&lt;br /&gt;
假設複選1、3，並且有備註文字，&lt;br /&gt;
則在Excel選項打成『13備註文字』，&lt;br /&gt;
整欄打完後透過此工具可整理為兩欄資料，&lt;br /&gt;
第一欄為選項『1,3』第二欄為『備註文字』，&lt;br /&gt;
如此一來貼回去Excel整理時會快上很多，&lt;br /&gt;
一次請複製一整欄，第一列會自動排除掉。</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>逐行整數加總工具</title><link>http://toolboxy.blogspot.com/2017/06/line-sum.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Thu, 29 Jun 2017 03:22:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-5972015659300955234</guid><description>&lt;div&gt;
 Input:&lt;br /&gt;
 &lt;textarea id="moneys" cols="40" rows="10" onclick="select()"&gt;10,000&amp;#13;&amp;#10;20,000&amp;#13;&amp;#10;30,000&amp;#13;&amp;#10;40,000&amp;#13;&amp;#10;50,000&lt;/textarea&gt;
&lt;/div&gt;
&lt;div&gt;
 Sort out:&lt;br /&gt;
 &lt;textarea id="sortout" cols="40" rows="10" onclick="select()"&gt;&lt;/textarea&gt;
&lt;/div&gt;
&lt;div&gt;
 Sum:&lt;br /&gt;
 &lt;input type="text" id="sum" onclick="select()" /&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
var timer = 0;
var compute = function() {
if(timer) clearTimeout(timer);
 timer = setTimeout(function(){
  var sum = 0;
  var moneys = document.getElementById("moneys").value.split("\n");
  var sort = document.getElementById("sortout");
  sort.value = "";
  for(var m in moneys) {
   var num = parseFloat(moneys[m].replace(/[^\+\-\.0-9]/gi,''));
   if(num){
    sum += num;
    sort.value += num + "\n";
   }
  }
  document.getElementById("sum").value = sum;
 }, 500);
};
document.getElementById("moneys").onkeyup = compute;
compute();
&lt;/script&gt;
&lt;br /&gt;
&lt;br /&gt;
後記：&lt;br /&gt;
由於Word表格加總太麻煩，單純是用來複製貼上算錢的工具。</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Slideshare圖片下載腳本</title><link>http://toolboxy.blogspot.com/2014/01/slideshare.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Wed, 19 Apr 2017 00:01:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-1961674942827875995</guid><description>&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgthgZwJiQZMoEalVJoDhZs2Zr2CrW6_OtSpftAfHtHCVfEHklNT1w3KFJ_U5c0Qom9kG_1KKNra1BiEgbZeDNwVJezXbgm55cnFLjOKzkWUKFANU08QfLhc6xsSM59tZukLfM57_i3wC4/s1600/5409840980498401984.png" imageanchor="1"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgthgZwJiQZMoEalVJoDhZs2Zr2CrW6_OtSpftAfHtHCVfEHklNT1w3KFJ_U5c0Qom9kG_1KKNra1BiEgbZeDNwVJezXbgm55cnFLjOKzkWUKFANU08QfLhc6xsSM59tZukLfM57_i3wC4/s640/5409840980498401984.png" height="545" width="640"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
原始碼：&lt;pre class="brush:js;highlight:[0];"&gt;
// ==UserScript==
// @name          Slideshare DownloadBoxy
// @description   Slideshare Download URL Generator
// @auther        https://toolboxy.blogspot.com/
// @include       https://www.slideshare.net/*
// @version       0.2
// ==/UserScript==
function $(id) {
    var i = 0;
    var j = 0;
    var elems = document.body.getElementsByTagName('*');
    var target = id.substr(1);
    var result=[];
    for(i=0;j=elems[i];i++) {
        if(j.getAttribute("class")) {
            if(j.getAttribute("class").indexOf(target)!=-1) {
                result.push(j);
            }
        }
    }
    return result;
}

function slideshareboxy() {
    var e = $('.slide_container')[0].getElementsByTagName('img');
    var o = "";
    for(var key=0;key&amp;lt;e.length;key+=1) {
        if(e[key].attributes['data-full']) {
            var url = e[key].attributes['data-full'].value;
            a = document.createElement("a");
            a.target = "blank";
            a.download = "download";
            a.href = url;
            a.click();
        }
    }
}

function downloadboxy() {
    var btn = document.createElement("button");
    btn.onclick = function() {
        slideshareboxy();
    };
    btn.innerHTML = "Download Images";
    $('.playerWrapper')[0].appendChild(btn);
}
downloadboxy();
&lt;/pre&gt;
下載：&lt;a href="https://greasyfork.org/zh-TW/scripts/29080-slideshare-downloadboxy"&gt;https://greasyfork.org/zh-TW/scripts/29080-slideshare-downloadboxy&lt;/a&gt;&lt;br /&gt;
後記：&lt;br /&gt;
剛剛想下載某人的PPT卻捉不下來，&lt;br /&gt;
所以就乾脆捉圖片下來合=.=</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgthgZwJiQZMoEalVJoDhZs2Zr2CrW6_OtSpftAfHtHCVfEHklNT1w3KFJ_U5c0Qom9kG_1KKNra1BiEgbZeDNwVJezXbgm55cnFLjOKzkWUKFANU08QfLhc6xsSM59tZukLfM57_i3wC4/s72-c/5409840980498401984.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>PDF 複製文字換行修正翻譯工具 v2.1</title><link>http://toolboxy.blogspot.com/2013/08/pdf-copy-corrector-v2.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Thu, 22 Aug 2013 18:18:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-7077205655322199889</guid><description>&lt;!--[if gt IE 6]&gt;&lt;!--&gt;
&lt;div align="center"&gt;
 &lt;table&gt;
  &lt;/tr&gt;
   &lt;td&gt;
    &lt;input type="checkbox" id="translate" /&gt;啟用翻譯, &lt;input type="checkbox" id="selected" checked="checked" /&gt;啟用全選
   &lt;/td&gt;
  &lt;tr&gt;
  &lt;tr&gt;
   &lt;td&gt;
    Input:&lt;br /&gt;
    &lt;textarea id="inputcode" cols=100 rows=10&gt;&lt;/textarea&gt;
   &lt;/td&gt;
  &lt;tr&gt;
  &lt;/tr&gt;
   &lt;td&gt;
    Output:&lt;br /&gt;
    &lt;textarea id="outputcode" cols=100 rows=10&gt;&lt;/textarea&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;/tr&gt;
   &lt;td&gt;
    Translate:&lt;br /&gt;
    &lt;textarea id="googletranslate" cols=100 rows=10&gt;&lt;/textarea&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
 &lt;/table&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
var scriptboxy = {
 current : null,
 queue : [],
 request : function(q) {
  var script = document.createElement('script');
  script.type = 'text/javascript';
  script.id = 'jsonScript';
  script.src = "http://titan.ccunix.ccu.edu.tw/~d01420005/googleTranslateAPI.php?sl=en&amp;tl=zh-TW&amp;word="+q.word+"&amp;callback=scriptboxy.callback";
  this.queue.push({
   script : script,
   success : q.success
  });
  if (!this.current) this.action();
 },
 action : function() {
  this.current = null;
  if(this.queue.length) {
   this.current = this.queue.shift();
   document.getElementsByTagName('head')[0].appendChild(this.current.script);
  }
 },
 callback : function(req) {
  var removeScript = document.getElementById('jsonScript');
  if(removeScript)
   removeScript.parentNode.removeChild(removeScript);
  this.current.success(req);
  this.action();
 },
 clear : function() {
  var removeScript = document.getElementById('jsonScript');
  if(removeScript)
   removeScript.parentNode.removeChild(removeScript);
  this.queue = [];
 }
};
var inputLength = 0;
document.getElementById("inputcode").onkeyup = function(e) {
 var len = document.getElementById("inputcode").value.length;
 if(inputLength != len) {
  inputLength = len;
  codereplace();
 }
};
var outputLength = 0;
document.getElementById("outputcode").onkeyup = function(e) {
 var len = document.getElementById("outputcode").value.length;
 if(outputLength != len) {
  outputLength = len;
  codetranslate();
 }
};
document.getElementById("inputcode").onclick = function(e) {
 if(document.getElementById("selected").checked) {
  document.getElementById("inputcode").select();
 }
};
document.getElementById("outputcode").onclick = function(e) {
 if(document.getElementById("selected").checked) {
  document.getElementById("outputcode").select();
 }
};
document.getElementById("googletranslate").onclick = function(e) {
 if(document.getElementById("selected").checked) {
  document.getElementById("googletranslate").select();
 }
};
function codereplace() {
 var recode = document.getElementById("inputcode").value;
 recode = recode.replace(/(ĳ)/gi,"ij"); //修正UTF-16相黏問題
 recode = recode.replace(/(Ĳ)/gi,"IJ");
 recode = recode.replace(/(ᵫ)/gi,"ue");
 recode = recode.replace(/(ﬀ)/gi,"ff");
 recode = recode.replace(/(ﬁ)/gi,"fi");
 recode = recode.replace(/(ﬂ)/gi,"fl");
 recode = recode.replace(/(ﬃ)/gi,"ffi");
 recode = recode.replace(/(ﬄ)/gi,"ffl");
 recode = recode.replace(/(ﬅ)/gi,"ſt");
 recode = recode.replace(/(ﬆ)/gi,"st");
 recode = recode.replace(/(-\n)/gi,""); //合併單字換行
 recode = recode.replace(/[\n]/gi," "); //換行符號轉空白
 document.getElementById("outputcode").value = recode;
 codetranslate();
}
var translateTimer = null;
var sentence = new RegExp(/((?:(?![\.!?](?:\s|$)).)+(?:[\.!?](?:\s|$))?)/g);
function codetranslate() {
 if(document.getElementById("translate").checked) {
  if(translateTimer) clearTimeout(translateTimer);
  translateTimer = setTimeout("translate();", 500);
 }
}
function translate() {
 scriptboxy.clear();
 document.getElementById('googletranslate').value = "";
 var words = document.getElementById("outputcode").value.match(sentence);
 for(key in words) {
  scriptboxy.request({
   word : words[key],
   success : function(e) {
    document.getElementById('googletranslate').value += e.word;
   }
  });
 }
}
&lt;/script&gt;
&lt;!--&gt;&lt;![endif]--&gt;
(不支援IE!!)
原始碼：&lt;br /&gt;
&lt;script src="https://gist.github.com/QQBoxy/6316548.js"&gt;&lt;/script&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">16</thr:total></item><item><title>String 與 UTF-8 互轉</title><link>http://toolboxy.blogspot.com/2013/07/string-utf-8.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Mon, 29 Jul 2013 18:14:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-2864960571935242355</guid><description>&lt;table border="1" cellpadding="5" rules="all"&gt;
&lt;tr&gt;&lt;td&gt;String&lt;/td&gt;&lt;td&gt;UTF-8&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;input id="str2utf8InputBoxy" size="30" value="123abcABC許功蓋" /&gt;&lt;/td&gt;&lt;td&gt;&lt;input id="str2utf8OutputBoxy" size="30" value="" /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;button id="str2utf8ConvertBoxy"&gt;String to UTF-8&lt;/button&gt;&lt;/td&gt;&lt;td&gt;&lt;button id="utf8ToStrConvertBoxy"&gt;UTF-8 to String&lt;/button&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;script type="text/javascript"&gt;
function $(id) {return document.getElementById(id.substr(1));}
var str2utf8 = function(word) {
 var output = "";
 for(key in word) {
  var dec = word[key].charCodeAt(0);
  if((dec&gt;47 &amp;&amp; dec&lt;58) || (dec&gt;64 &amp;&amp; dec&lt;91) || (dec&gt;96 &amp;&amp; dec&lt;123)) {
   output += '%' + dec.toString(16);
  } else {
   output += encodeURIComponent(word[key]);
  }
 }
 return output;
};
$('#str2utf8InputBoxy').onclick = function() {
    $('#str2utf8InputBoxy').select();
};
$('#str2utf8OutputBoxy').onclick = function() {
    $('#str2utf8OutputBoxy').select();
};
$("#str2utf8ConvertBoxy").onclick = function() {
 $("#str2utf8OutputBoxy").value = str2utf8($("#str2utf8InputBoxy").value);
};
$("#utf8ToStrConvertBoxy").onclick = function() {
 $("#str2utf8InputBoxy").value = decodeURIComponent($("#str2utf8OutputBoxy").value);
};
&lt;/script&gt;
&lt;br /&gt;
原始碼：&lt;br /&gt;
&lt;pre class="brush:js;highlight:[0];"&gt;
&amp;lt;table border="1" cellpadding="5" rules="all"&amp;gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;String&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;UTF-8&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;input id="str2utf8InputBoxy" size="30" value="123abcABC許功蓋" /&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;input id="str2utf8OutputBoxy" size="30" value="" /&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;button id="str2utf8ConvertBoxy"&amp;gt;String to UTF-8&amp;lt;/button&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;button id="utf8ToStrConvertBoxy"&amp;gt;UTF-8 to String&amp;lt;/button&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;script type="text/javascript"&amp;gt;
function $(id) {return document.getElementById(id.substr(1));}
var str2utf8 = function(word) {
    var output = "";
    for(key in word) {
        var dec = word[key].charCodeAt(0);
        if((dec&amp;gt;47 &amp;&amp; dec&amp;lt;58) || (dec&amp;gt;64 &amp;&amp; dec&amp;lt;91) || (dec&amp;gt;96 &amp;&amp; dec&amp;lt;123)) {
            output += '%' + dec.toString(16);
        } else {
            output += encodeURIComponent(word[key]);
        }
    }
    return output;
};
$('#str2utf8InputBoxy').onclick = function() {
    $('#str2utf8InputBoxy').select();
};
$('#str2utf8OutputBoxy').onclick = function() {
    $('#str2utf8OutputBoxy').select();
};
$("#str2utf8ConvertBoxy").onclick = function() {
    $("#str2utf8OutputBoxy").value = str2utf8($("#str2utf8InputBoxy").value);
};
$("#utf8ToStrConvertBoxy").onclick = function() {
    $("#str2utf8InputBoxy").value = decodeURIComponent($("#str2utf8OutputBoxy").value);
};
&amp;lt;/script&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;
後記：&lt;br /&gt;
此程式乃用來補足encodeURIComponent語法未包含數字與英文的UTF-8轉換問題。</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>自動以原始大小開啟Picasa圖片</title><link>http://toolboxy.blogspot.com/2013/07/picasa.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Sat, 13 Jul 2013 10:25:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-8045801878317541640</guid><description>功能說明：&lt;br /&gt;
在新分頁開啟Picasa圖片時，將自動將小圖替換大圖。&lt;br /&gt;
&lt;br /&gt;
下載點：&lt;br /&gt;
&lt;a target="_blank" href="http://userscripts.org/scripts/show/155677"&gt;http://userscripts.org/scripts/show/155677&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
原始碼：&lt;br /&gt;
&lt;pre class="brush:js;highlight:[0];"&gt;
// ==UserScript==
// @name          PicasaBoxy
// @description      Auto Load Original size
// @auther        http://toolboxy.blogspot.com/
// @include       *.googleusercontent.com/*
// @version       0.5
// ==/UserScript==

(function(){
    var picasaRegex = new RegExp(/^http(?:s)?:\/\/lh[0-9]?\.googleusercontent\.com\/[-_0-9a-zA-Z]{12}\/[-_0-9a-zA-Z]{11}\/[-_0-9a-zA-Z]{11}\/[-_0-9a-zA-Z]{11}\/([-_0-9a-zA-Z]{1,})\/.+$/);
    var url = window.location.href;
    if(url.match(picasaRegex)[1]!="s0") {
        document.location = url.replace(url.match(picasaRegex)[1], "s0");
    }
})()
&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>PDF 複製文字換行修正工具</title><link>http://toolboxy.blogspot.com/2012/10/pdf-copy-corrector.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Thu, 25 Oct 2012 16:44:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-2692307467075995445</guid><description>&lt;!--[if gt IE 6]&gt;&lt;!--&gt;
&lt;div align="center"&gt;
 &lt;table&gt;
  &lt;tr&gt;
   &lt;td&gt;
    &lt;textarea id="inputcode" onclick="select()" cols=100 rows=10&gt;&lt;/textarea&gt;
   &lt;/td&gt;
  &lt;tr&gt;
  &lt;/tr&gt;
   &lt;td&gt;
    &lt;div align="center"&gt;&lt;input type="button" value="&amp;gt;&amp;gt;" onclick="codereplace()" /&gt;&lt;/div&gt;
   &lt;/td&gt;
  &lt;tr&gt;
  &lt;/tr&gt;
   &lt;td&gt;
    &lt;textarea id="outputcode" onclick="select()" cols=100 rows=10&gt;&lt;/textarea&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
 &lt;/table&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
function $(id) {
 if(id.substr(0,1)=='#')
  return document.getElementById(id.substr(1));
}
$('#inputcode').onchange = function(e) {
 codereplace();
};
function showtoolbar() {
 $("#codereplace").style.display = "block";
 $("#showtoolbar").style.display = "none";
}
function codereplace() {
 var recode = $("#inputcode").value;
 recode = recode.replace(/(ﬁ)/gi,"fi"); //修正fi相黏問題
 recode = recode.replace(/(-\n)/gi,""); //合併單字換行
 recode = recode.replace(/[\n]/gi," "); //換行符號轉空白
 $("#outputcode").value = recode;
}
&lt;/script&gt;
&lt;!--&gt;&lt;![endif]--&gt;
&lt;br /&gt;
原始碼：&lt;br /&gt;
&lt;pre class="brush:js;highlight:[0];"&gt;
&amp;lt;!--[if gt IE 6]&amp;gt;&amp;lt;!--&amp;gt;
&amp;lt;div align="center"&amp;gt;
    &amp;lt;table&amp;gt;
        &amp;lt;tr&amp;gt;
            &amp;lt;td&amp;gt;
                &amp;lt;textarea id="inputcode" onclick="select()" cols=100 rows=10&amp;gt;&amp;lt;/textarea&amp;gt;
            &amp;lt;/td&amp;gt;
        &amp;lt;tr&amp;gt;
        &amp;lt;/tr&amp;gt;
            &amp;lt;td&amp;gt;
                &amp;lt;div align="center"&amp;gt;&amp;lt;input type="button" value="&amp;gt;&amp;gt;" onclick="codereplace()" /&amp;gt;&amp;lt;/div&amp;gt;
            &amp;lt;/td&amp;gt;
        &amp;lt;tr&amp;gt;
        &amp;lt;/tr&amp;gt;
            &amp;lt;td&amp;gt;
                &amp;lt;textarea id="outputcode" onclick="select()" cols=100 rows=10&amp;gt;&amp;lt;/textarea&amp;gt;
            &amp;lt;/td&amp;gt;
        &amp;lt;/tr&amp;gt;
    &amp;lt;/table&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;script type="text/javascript"&amp;gt;
function $(id) {
    if(id.substr(0,1)=='#')
        return document.getElementById(id.substr(1));
}
$('#inputcode').onchange = function(e) {
    codereplace();
};
function showtoolbar() {
    $("#codereplace").style.display = "block";
    $("#showtoolbar").style.display = "none";
}
function codereplace() {
    var recode = $("#inputcode").value;
    recode = recode.replace(/(ﬁ)/gi,"fi"); //修正fi相黏問題
    recode = recode.replace(/(-\n)/gi,""); //合併單字換行
    recode = recode.replace(/[\n]/gi," "); //換行符號轉空白
    $("#outputcode").value = recode;
}
&amp;lt;/script&amp;gt;
&amp;lt;!--&amp;gt;&amp;lt;![endif]--&amp;gt;
&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>數字轉國字</title><link>http://toolboxy.blogspot.com/2012/02/numtochinese.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Wed, 8 Feb 2012 18:02:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-3577631681436286462</guid><description>&lt;input id="input_num" type="text" size="30" value="" /&gt;
&lt;button id="convert_num"&gt;Convert&lt;/button&gt;
&lt;input id="output_num" type="text" size="30" value="" /&gt;
&lt;script type="text/javascript"&gt;
function $(id) {return document.getElementById(id.substr(1));}
$('#output_num').onmouseover = function() {
 $('#output_num').select();
};
$('#convert_num').onclick = function() {
 var chnum = "零壹貳參肆伍陸柒捌玖";
 var chunit = "拾佰仟";
 var chunits = "\r萬億兆京垓秭穰溝澗正載極";
 var num = $('#input_num').value?$('#input_num').value:"";
 var output = "";
 var is_zero = true;
 for(var i=0;i&lt;num.length;i++) {
  var n = parseInt(num.charAt(i));
  if(isNaN(n)) {
   $('#output_num').value = "Error";
   return;
  }
  if((num.length-i-1)%4 == 0) {
   if(n == 0) {
    if(!is_zero)
     output += chunits.charAt((num.length-i-1)/4);
    is_zero = true;
   } else {
    output += chnum.charAt(n) + chunits.charAt((num.length-i-1)/4);
    is_zero = false;
   }
  } else if(n != 0) {
   output += chnum.charAt(n) + chunit.charAt((num.length-i-1)%4-1);
   is_zero = false;
  }
 }
 $('#output_num').size = output.length*2;
 $('#output_num').value = (output?output:"零") + "元整";
}
&lt;/script&gt;
&lt;br /&gt;
說明：&lt;br /&gt;
輸入數字轉成支票格式國字。&lt;br /&gt;
&lt;br /&gt;
原始碼：&lt;br /&gt;
&lt;pre class="brush:js;highlight:[0];"&gt;
&amp;lt;input id="input_num" type="text" size="30" value="" /&amp;gt;
&amp;lt;button id="convert_num"&amp;gt;Convert&amp;lt;/button&amp;gt;
&amp;lt;input id="output_num" type="text" size="30" value="" /&amp;gt;
&amp;lt;script type="text/javascript"&amp;gt;
function $(id) {return document.getElementById(id.substr(1));}
$('#output_num').onmouseover = function() {
    $('#output_num').select();
};
$('#convert_num').onclick = function() {
    var chnum = "零壹貳參肆伍陸柒捌玖";
    var chunit = "拾佰仟";
    var chunits = "\r萬億兆京垓秭穰溝澗正載極";
    var num = $('#input_num').value?$('#input_num').value:"";
    var output = "";
    var is_zero = true;
    for(var i=0;i&amp;lt;num.length;i++) {
        var n = parseInt(num.charAt(i));
        if(isNaN(n)) {
            $('#output_num').value = "Error";
            return;
        }
        if((num.length-i-1)%4 == 0) {
            if(n == 0) {
                if(!is_zero)
                    output += chunits.charAt((num.length-i-1)/4);
                is_zero = true;
            } else {
                output += chnum.charAt(n) + chunits.charAt((num.length-i-1)/4);
                is_zero = false;
            }
        } else if(n != 0) {
            output += chnum.charAt(n) + chunit.charAt((num.length-i-1)%4-1);
            is_zero = false;
        }
    }
    $('#output_num').size = output.length*2;
    $('#output_num').value = (output?output:"零") + "元整";
}
&amp;lt;/script&amp;gt;
&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total></item><item><title>計算BMI工具</title><link>http://toolboxy.blogspot.com/2012/01/bmi.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Sat, 7 Jan 2012 21:31:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-955237694585727707</guid><description>&lt;table&gt;
&lt;tr&gt;&lt;td&gt;體重過輕 (Under weight)&lt;/td&gt;&lt;td&gt;BMI &amp;lt; 18.5&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;體重正常 (Normal weight)&lt;/td&gt;&lt;td&gt;18.5 &amp;le; BMI &amp;lt;24&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;體重過重 (Over weight)&lt;/td&gt;&lt;td&gt;24 &amp;le; BMI &amp;lt; 27&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;輕度肥胖 (Mildly obese)&lt;/td&gt;&lt;td&gt;27 &amp;le; BMI &amp;lt; 30&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;中度肥胖 (Moderately obese)&lt;/td&gt;&lt;td&gt;30 &amp;le; BMI &amp;lt; 35&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;重度肥胖 (Severe obesity)&lt;/td&gt;&lt;td&gt;35 &amp;le; BMI&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;br /&gt;
Height (cm): &lt;input type="text" id="hhboxy" /&gt;&lt;br /&gt;
Weight (kg): &lt;input type="text" id="whboxy" /&gt;&lt;br /&gt;
&lt;button id="countboxy"&gt;Count&lt;/button&gt;&lt;br /&gt;
&lt;span id="bmiboxy"&gt;&lt;/span&gt;
&lt;script type="text/javascript"&gt;
var bmiboxy = new function() {
 return {
  json : {
     0 : "體重過輕 (Under weight)",
   185 : "體重正常 (Normal weight)",
   240 : "體重過重 (Over weight)",
   270 : "輕度肥胖 (Mildly obese)",
   300 : "中度肥胖 (Moderately obese)",
   350 : "重度肥胖 (Severe obesity)"
  },
  count : function() {
   var height = document.getElementById('hhboxy').value;
   var weight = document.getElementById('whboxy').value;
   var bmi = weight/Math.pow(height/100 ,2);
   for(var key in this.json)
    if(bmi &gt;= (key/10))
     var explain = this.json[key];
   document.getElementById('bmiboxy').innerHTML = "BMI=" + bmi.toPrecision(5) + ", " + explain;
  }
 };
};
document.getElementById('countboxy').onclick = function() {
 bmiboxy.count();
};
&lt;/script&gt;
&lt;br /&gt;
&lt;br /&gt;
後記：&lt;br /&gt;
雖然是很簡單的程式，不過因為需要用所以隨手寫了下，畢竟最近體重被盯很緊...( 艸)&lt;br /&gt;
&lt;br /&gt;
原始碼：&lt;br /&gt;
&lt;pre class="brush:js;highlight:[0];"&gt;
&amp;lt;table&amp;gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;體重過輕 (Under weight)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;BMI &amp;amp;lt; 18.5&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;體重正常 (Normal weight)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;18.5 &amp;amp;le; BMI &amp;amp;lt;24&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;體重過重 (Over weight)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;24 &amp;amp;le; BMI &amp;amp;lt; 27&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;輕度肥胖 (Mildly obese)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;27 &amp;amp;le; BMI &amp;amp;lt; 30&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;中度肥胖 (Moderately obese)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;30 &amp;amp;le; BMI &amp;amp;lt; 35&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;重度肥胖 (Severe obesity)&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;35 &amp;amp;le; BMI&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;br /&amp;gt;
Height (cm): &amp;lt;input type="text" id="hhboxy" /&amp;gt;&amp;lt;br /&amp;gt;
Weight (kg): &amp;lt;input type="text" id="whboxy" /&amp;gt;&amp;lt;br /&amp;gt;
&amp;lt;button id="countboxy"&amp;gt;Count&amp;lt;/button&amp;gt;&amp;lt;br /&amp;gt;
&amp;lt;span id="bmiboxy"&amp;gt;&amp;lt;/span&amp;gt;
&amp;lt;script type="text/javascript"&amp;gt;
var bmiboxy = new function() {
    return {
        json : {
              0 : "體重過輕 (Under weight)",
            185 : "體重正常 (Normal weight)",
            240 : "體重過重 (Over weight)",
            270 : "輕度肥胖 (Mildly obese)",
            300 : "中度肥胖 (Moderately obese)",
            350 : "重度肥胖 (Severe obesity)"
        },
        count : function() {
            var height = document.getElementById('hhboxy').value;
            var weight = document.getElementById('whboxy').value;
            var bmi = weight/Math.pow(height/100 ,2);
            for(var key in this.json)
                if(bmi &amp;gt;= (key/10))
                    var explain = this.json[key];
            document.getElementById('bmiboxy').innerHTML = "BMI=" + bmi.toPrecision(5) + ", " + explain;
        }
    };
};
document.getElementById('countboxy').onclick = function() {
    bmiboxy.count();
};
&amp;lt;/script&amp;gt;
&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Jsonp 整理檢視工具</title><link>http://toolboxy.blogspot.com/2011/12/jsonp.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Thu, 29 Dec 2011 21:19:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-3854132996167546573</guid><description>&lt;input type="text" id="dumpvalue" style="width:300px;" value="http://...&amp;alt=json&amp;callback=?" /&gt;
&lt;button id="dumpbtn"&gt;Dump&lt;/button&gt;
&lt;pre id="gplus"&gt;&lt;/pre&gt;
&lt;script type="text/javascript"&gt;
function $(id) {
 var key = id.substr(0,1);
 switch(key) {
  case '#':
   return document.getElementById(id.substr(1));
  case '.':
   var elems = document.body.getElementsByTagName("*");
   var target = id.substr(1);
   var result=[];
   for (i=0;j=elems[i];i++) {
    if((j.className).indexOf(target)!=-1) result.push(j);
   }
   return result;
  default:
   return document.getElementsByTagName(id);
 }
}
var dumpboxy = new function() {
 return {
  getjson : function(json) {
   $('#gplus').innerHTML = this.dump(json);
  },
  sendjson : function(url, func) {
   var cp = url.indexOf("callback=?");
   var rm = $('#scriptBoxy');
   if(rm) rm.parentNode.removeChild(rm);
   var script = document.createElement('script');
   script.type = 'text/javascript';
   script.id = 'jsonScript';
   script.src = url.substring(0, cp)+"callback="+func+url.substring(cp+10, url.length);
   document.getElementsByTagName('head')[0].appendChild(script);
  },
  dump : function(arr, level) {
   var dumped_text = "";
   if(!level) level = 0;
   var level_padding = "";
   for(var j=0;j&lt;level+1;j++) level_padding += "\t";
   if(typeof(arr) == 'object') {
    for(var item in arr) {
     var value = arr[item];
     if(typeof(value) == 'object') {
      dumped_text += level_padding + "'" + item + "' ...\n";
      dumped_text += this.dump(value, level+1);
     } else {
      dumped_text += level_padding + "'" + item + "' =&gt; \"" + value + "\"\n";
     }
    }
   } else {
    dumped_text = "===&gt;"+arr+"&lt;===("+typeof(arr)+")";
   }
   return dumped_text;
  }
 };
}
$('#dumpbtn').onclick = function(e) {
 dumpboxy.sendjson($('#dumpvalue').value, "dumpboxy.getjson");
};
$('#dumpvalue').onclick = function(e) {
 $('#dumpvalue').select();
};
&lt;/script&gt;
說明：&lt;br /&gt;
輸入Jsonp網址即時檢視Json內容架構。&lt;br /&gt;
&lt;br /&gt;
原始碼：&lt;br /&gt;
&lt;pre class="brush:js;highlight:[0];"&gt;
&amp;lt;input type="text" id="dumpvalue" value="http://...&amp;alt=json&amp;callback=?" /&amp;gt;
&amp;lt;button id="dumpbtn"&amp;gt;Dump&amp;lt;/button&amp;gt;
&amp;lt;pre id="gplus"&amp;gt;&amp;lt;/pre&amp;gt;
&amp;lt;script type="text/javascript"&amp;gt;
function $(id) {
    var key = id.substr(0,1);
    switch(key) {
        case '#':
            return document.getElementById(id.substr(1));
        case '.':
            var elems = document.body.getElementsByTagName("*");
            var target = id.substr(1);
            var result=[];
            for (i=0;j=elems[i];i++) {
                if((j.className).indexOf(target)!=-1) result.push(j);
            }
            return result;
        default:
            return document.getElementsByTagName(id);
    }
}
var dumpboxy = new function() {
    return {
        getjson : function(json) {
            $('#gplus').innerHTML = this.dump(json);
        },
        sendjson : function(url, func) {
            var cp = url.indexOf("callback=?");
            var rm = $('#scriptBoxy');
            if(rm) rm.parentNode.removeChild(rm);
            var script = document.createElement('script');
            script.type = 'text/javascript';
            script.id = 'jsonScript';
            script.src = url.substring(0, cp)+"callback="+func+url.substring(cp+10, url.length);
            document.getElementsByTagName('head')[0].appendChild(script);
        },
        dump : function(arr, level) {
            var dumped_text = "";
            if(!level) level = 0;
            var level_padding = "";
            for(var j=0;j&amp;lt;level+1;j++) level_padding += "\t";
            if(typeof(arr) == 'object') {
                for(var item in arr) {
                    var value = arr[item];
                    if(typeof(value) == 'object') {
                        dumped_text += level_padding + "'" + item + "' ...\n";
                        dumped_text += this.dump(value, level+1);
                    } else {
                        dumped_text += level_padding + "'" + item + "' =&amp;gt; \"" + value + "\"\n";
                    }
                }
            } else {
                dumped_text = "===&amp;gt;"+arr+"&amp;lt;===("+typeof(arr)+")";
            }
            return dumped_text;
        }
    };
}
$('#dumpbtn').onclick = function(e) {
    dumpboxy.sendjson($('#dumpvalue').value, "dumpboxy.getjson");
};
$('#dumpvalue').onclick = function(e) {
    $('#dumpvalue').select();
};
&amp;lt;/script&amp;gt;
&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>線上手動節拍速度量測器</title><link>http://toolboxy.blogspot.com/2011/11/bpm-tempo.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Wed, 9 Nov 2011 17:25:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-8618431552449738064</guid><description>&lt;script type="text/javascript"&gt;
var tempoboxy = new function() {
 var num = 0;
 var oldtime = 0;
 var bpms = new Array();
 return {
  bpm : function() {
   var i = 0;
   var sum = 0;
   var d = new Date();
   var time = d.getHours()*1000*60*60 + d.getMinutes()*1000*60 + d.getSeconds()*1000 + d.getMilliseconds();
   var tempoboxy = document.getElementById("tempoboxy");
   bpms[num] = 60000/(time-oldtime);
   if(oldtime==0) { //第一次記數
    oldtime = time;
    tempoboxy.innerHTML = "000.00 BPM";
   } else if(bpms[num]&gt;300) { //連點兩下重置
    num = 0;
    oldtime = 0;
    bpms = new Array();
    tempoboxy.innerHTML = "bpm measure";
   } else { //累積記數計算
    oldtime = time;
    num++;
    var len = bpms.length;
    for(i=0;i&lt;len;i++) sum += bpms[i];
    tempoboxy.innerHTML = (sum/len).toPrecision(5) + " BPM";
   }
  }
 };
};
&lt;/script&gt;
&lt;button id="tempoboxy" onClick="tempoboxy.bpm();" style="width:120px;"&gt;bpm measure&lt;/button&gt;&lt;br /&gt;
&lt;br /&gt;
說明：&lt;br /&gt;
此為簡易Tempo測量BPM之按鈕，&lt;br /&gt;
照著音樂拍子手動按下按鈕即可，&lt;br /&gt;
按的越多次平均量測值就越準確，&lt;br /&gt;
連點兩下後即可重置按鈕。&lt;br /&gt;
&lt;br /&gt;
原始碼：&lt;br /&gt;
&lt;pre class="brush:js;highlight:[0];"&gt;
&amp;lt;script type="text/javascript"&amp;gt;
var tempoboxy = new function() {
    return {
        num : 0,
        oldtime : 0,
        bpms : new Array(),
        bpm : function() {
            var i = 0;
            var sum = 0;
            var d = new Date();
            var time = d.getHours()*1000*60*60 + d.getMinutes()*1000*60 + d.getSeconds()*1000 + d.getMilliseconds();
            var tempoboxy = document.getElementById("tempoboxy");
            this.bpms[this.num] = 60000/(time-this.oldtime);
            if(this.oldtime==0) { //第一次記數
                this.oldtime = time;
                tempoboxy.innerHTML = "000.00 BPM";
            } else if(this.bpms[this.num]&amp;gt;300) { //連點兩下重置
                this.num = 0;
                this.oldtime = 0;
                this.bpms = new Array();
                tempoboxy.innerHTML = "bpm measure";
            } else { //累積記數計算
                this.oldtime = time;
                this.num++;
                var len = this.bpms.length;
                for(i=0;i&amp;lt;len;i++) sum += this.bpms[i];
                tempoboxy.innerHTML = (sum/len).toPrecision(5) + " BPM";
            }
        }
    };
};
&amp;lt;/script&amp;gt;
&amp;lt;button id="tempoboxy" onClick="tempoboxy.bpm();" style="width:120px;"&amp;gt;bpm measure&amp;lt;/button&amp;gt;
&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>@魔法少女小圓全圖</title><link>http://toolboxy.blogspot.com/2011/08/mahou.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Thu, 25 Aug 2011 10:41:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-143882148409247881</guid><description>原始碼：&lt;br /&gt;
&lt;pre class="brush:js;highlight:[0];"&gt;&amp;lt;script type="text/javascript"&amp;gt;
function init() {
    var mahou = document.getElementById('mahou');
    var t = new Array(8, 15, 20, 20, 12);
    for(var i=0;i&amp;lt;5;i++) {
        for(var j=1;j&amp;lt;=t[i];j++)
            mahou.innerHTML += "&amp;lt;img src='http://img.atgames.jp/campaign_event/2011/madoka-magica/0816_event/battle/g" + (i+1) + "_" + j + ".jpg' /&amp;gt;";
        mahou.innerHTML += "&amp;lt;hr /&amp;gt;";
    }
}
window.onload = init;
&amp;lt;/script&amp;gt;
&amp;lt;div id="mahou"&amp;gt;&amp;lt;/div&amp;gt;
&lt;/pre&gt;全圖：&lt;br /&gt;
&lt;a href="http://pastehtml.com/view/b4zzix67g.html"&gt;http://pastehtml.com/view/b4zzix67g.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
後記：&lt;br /&gt;
很簡單的雙迴圈讓圖全部顯示-.-</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>@BeastBoxy</title><link>http://toolboxy.blogspot.com/2011/08/autoatgames.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Fri, 12 Aug 2011 06:47:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-2180964404689070913</guid><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7Ah5AOdZU6s-cNr0phBy7_5u4uE8xcxRIQCRksfyLpJrm01F23lGngCdd9eBaqTSG1z1XAib7AFFdaKyl4sEvtKbbjoGJbb6lAxDAO0oSN4bUDTsumG6woqfklwqAZ68TP9dzX1wMzKY/s1600/048791489489410.PNG" imageanchor="1"&gt;&lt;img border="0" height="40" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7Ah5AOdZU6s-cNr0phBy7_5u4uE8xcxRIQCRksfyLpJrm01F23lGngCdd9eBaqTSG1z1XAib7AFFdaKyl4sEvtKbbjoGJbb6lAxDAO0oSN4bUDTsumG6woqfklwqAZ68TP9dzX1wMzKY/s640/048791489489410.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
腳本名稱：@BeastBoxy&lt;br /&gt;
腳本安裝：&lt;a href="http://userscripts.org/scripts/show/109958" target="_blank"&gt;http://userscripts.org/scripts/show/109958&lt;/a&gt; (進去後按右上角Install)&lt;br /&gt;
腳本支援：Google Chrome(直接裝)、Firefox(需先安裝&lt;a href="https://addons.mozilla.org/zh-tw/firefox/addon/greasemonkey/" target="_blank"&gt;GreaseMonkey&lt;/a&gt;)&lt;br /&gt;
腳本功能：&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;讓您一個願望一次滿足的(廢話w)...自動按きたよー&lt;/li&gt;
&lt;/ol&gt;腳本更新：&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;v0.1 自動按きたよー&lt;/li&gt;
&lt;/ol&gt;後記：&lt;br /&gt;
&lt;a target="_blank" href="https://addons.mozilla.org/zh-tw/firefox/addon/greasemonkey/"&gt;GreaseMonkey&lt;/a&gt;腳本工具是裝在Firefox瀏覽器上面的，&lt;br /&gt;
而腳本當然就是裝在腳本工具上使用的，&lt;br /&gt;
如果您本身就有在用&lt;a target="_blank" href="http://moztw.org/"&gt;Firefox&lt;/a&gt;瀏覽器的GreaseMonkey腳本工具，&lt;br /&gt;
那麼&lt;a target="_blank" href="http://userscripts.org"&gt;userscripts.org&lt;/a&gt;成千上萬的外掛腳本您應該不陌生=.=&lt;br /&gt;
&lt;br /&gt;
其實聽說IE瀏覽器有套Trixie可以使用腳本，&lt;br /&gt;
不過我沒用過所以不知道能不能用...(遠目&lt;br /&gt;
&lt;br /&gt;
原始碼：&lt;br /&gt;
&lt;pre class="brush:js;highlight:[0];"&gt;// ==UserScript==
// @name          BeastBoxy
// @description      Auto click button
// @auther        http://toolboxy.blogspot.com/
// @include       http://sns.atgames.jp/*
// @version       0.1
// ==/UserScript==
var evt=document.createEvent("MouseEvents");
evt.initEvent("click",true,true);

/*きたよー*/
if(document.getElementById('greetingNegative').style.display=='none'){
    document.getElementById('greetingAct2').dispatchEvent(evt);
}
&lt;/pre&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7Ah5AOdZU6s-cNr0phBy7_5u4uE8xcxRIQCRksfyLpJrm01F23lGngCdd9eBaqTSG1z1XAib7AFFdaKyl4sEvtKbbjoGJbb6lAxDAO0oSN4bUDTsumG6woqfklwqAZ68TP9dzX1wMzKY/s72-c/048791489489410.PNG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>霜月語法轉換工具</title><link>http://toolboxy.blogspot.com/2011/08/sougetsu.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Sat, 6 Aug 2011 11:31:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-1887821734800204154</guid><description>請貼入JavaScript內容(不支援IE6)：
&lt;!--[if gt IE 6]&gt;&lt;!--&gt;
&lt;script type="text/javascript"&gt;
function codereplace() {
 var strcode = document.getElementById("inputcode").value;
 var recode = strcode;
 recode = recode.replace(/[\n]/gi,"\/\/\/\/\n");
 document.getElementById("outputcode").value = recode;
}
&lt;/script&gt;
&lt;table&gt;
 &lt;tr&gt;&lt;td&gt;
  &lt;textarea id="inputcode" onclick="select()" cols=50 rows=6&gt;&amp;lt;script type="text/javascript"&amp;gt;&amp;#13;&amp;#10; alert("Hello");&amp;#13;&amp;#10;&amp;lt;/script&amp;gt;&lt;/textarea&gt;
 &lt;/td&gt;&lt;td&gt;
  &lt;input type="button" value="&amp;gt;&amp;gt;" onclick="codereplace()" /&gt;
 &lt;/td&gt;&lt;td&gt;
  &lt;textarea id="outputcode" onclick="select()" cols=50 rows=6&gt;&lt;/textarea&gt;
 &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;!--&gt;&lt;![endif]--&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Repeat Youtube v0.4</title><link>http://toolboxy.blogspot.com/2011/05/ry.html</link><category>Javascript</category><category>Youtube</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Sat, 30 Jul 2011 11:00:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-1460129167096799950</guid><description>&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;此工具搬家囉 ~ 0w0&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://youtuberepeat.blogspot.com/"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;http://youtuberepeat.blogspot.com/&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;script type="text/javascript"&gt;
var url = window.location.toString();
if(url.indexOf("?")!=-1) {
 ylink = url.substring(url.indexOf("?")+1,url.length);
 location.href = "http://youtuberepeat.blogspot.com/?" + ylink;
}
&lt;/script&gt;&lt;br /&gt;
&lt;textarea style="width:100%;overflow:visible;display:none;" onclick="select()" rows="5"&gt;&amp;lt;script src="http://www.google.com/jsapi" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt; &amp;lt;script type="text/javascript"&amp;gt;&amp;#13;&amp;#10; google.load("swfobject", "2.1");&amp;#13;&amp;#10;&amp;lt;/script&amp;gt; &amp;lt;script type="text/javascript"&amp;gt;&amp;#13;&amp;#10;var ytid = '';&amp;#13;&amp;#10;//產生播放器&amp;#13;&amp;#10;function loadPlayer() {&amp;#13;&amp;#10; var params = {allowScriptAccess: "always"};&amp;#13;&amp;#10; var atts = {id: "ytPlayer"};&amp;#13;&amp;#10; swfobject.embedSWF("http://www.youtube.com/v/" + ytid + "?autoplay=1&amp;enablejsapi=1&amp;playerapiid=player1&amp;loop=1",&amp;#13;&amp;#10; "videoDiv", "853", "510", "8", null, null, params, atts);&amp;#13;&amp;#10;}&amp;#13;&amp;#10;//播放前置設定&amp;#13;&amp;#10;function go() {&amp;#13;&amp;#10; //準備影片編號&amp;#13;&amp;#10; ytid = youtubecode(ytid);&amp;#13;&amp;#10; //介面項目顯示&amp;#13;&amp;#10; document.getElementById("yturl").value = "http://www.youtube.com/watch?v=" + ytid;&amp;#13;&amp;#10; document.getElementById("longurl").href = "http://toolboxy.blogspot.com/2011/05/ry.html?http://www.youtube.com/watch?v=" + ytid;&amp;#13;&amp;#10; document.getElementById("longcode").innerHTML = "http://www.youtube.com/watch?v=" + ytid;&amp;#13;&amp;#10; document.getElementById("shorturl").href = "http://toolboxy.blogspot.com/2011/05/ry.html?" + ytid;&amp;#13;&amp;#10; document.getElementById("shortcode").innerHTML = ytid;&amp;#13;&amp;#10; //清除舊影片區&amp;#13;&amp;#10; mom = document.getElementById("videoMom");&amp;#13;&amp;#10; mom.innerHTML = '';&amp;#13;&amp;#10; //建立新影片區&amp;#13;&amp;#10; chi = document.createElement("div");&amp;#13;&amp;#10; chi.id = "videoDiv";&amp;#13;&amp;#10; mom.appendChild(chi);&amp;#13;&amp;#10; //啟動播放器&amp;#13;&amp;#10; loadPlayer();&amp;#13;&amp;#10;}&amp;#13;&amp;#10;//代碼過濾&amp;#13;&amp;#10;function youtubecode(ycode) {&amp;#13;&amp;#10; if(ycode.indexOf("v=")!=-1)&amp;#13;&amp;#10;  ycode = ycode.substring(ycode.indexOf("v=")+2,ycode.length);&amp;#13;&amp;#10; if(ycode.indexOf("&amp;")!=-1)&amp;#13;&amp;#10;   ycode = ycode.substring(0,ycode.indexOf("&amp;"));&amp;#13;&amp;#10; return ycode;&amp;#13;&amp;#10;}&amp;#13;&amp;#10;//手動播放&amp;#13;&amp;#10;function play() {&amp;#13;&amp;#10; ytid = document.getElementById("yturl").value;&amp;#13;&amp;#10; go();&amp;#13;&amp;#10;}&amp;#13;&amp;#10;//按鍵播放&amp;#13;&amp;#10;function enterkey() {&amp;#13;&amp;#10; if (event.keyCode == 13)&amp;#13;&amp;#10; play();&amp;#13;&amp;#10;}&amp;#13;&amp;#10;function init() {&amp;#13;&amp;#10; //清空Blogspot介面&amp;#13;&amp;#10; clearblogspot();&amp;#13;&amp;#10; //取得網址&amp;#13;&amp;#10; var url = window.location.toString();&amp;#13;&amp;#10; //網址變數存在檢查&amp;#13;&amp;#10; if(url.indexOf("?")!=-1) {&amp;#13;&amp;#10;  ytid = youtubecode(url.substring(url.indexOf("?")+1,url.length));&amp;#13;&amp;#10;  go();&amp;#13;&amp;#10; }&amp;#13;&amp;#10; document.getElementById('yturl').focus();&amp;#13;&amp;#10;}&amp;#13;&amp;#10;window.onload = init;&amp;#13;&amp;#10;&amp;lt;/script&amp;gt; &amp;lt;div align="center"&amp;gt;&amp;#13;&amp;#10;Youtube Link:&amp;lt;input id="yturl" onkeydown="enterkey()" onclick="document.getElementById('yturl').select();" size="80" type="text" value="http://www.youtube.com/watch?v=L6qjVSieVnQ" /&amp;gt;&amp;lt;input onclick="play();" type="button" value="Play" /&amp;gt;&amp;#13;&amp;#10;&amp;#13;&amp;#10;&amp;lt;div id="videoMom" style="background-image:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZTbeIZEq0DT8xiqFZ2arao6rIqFZKMPOZTl0nIUQ3SqbqXpLnKCMZ_uUsK-88tUrpTGjPhUqbq8Gx7as3nwUwbe-NGduFm4vWyKccucqOj9y7zvfHwYCogTnXdQIepu8dCh_JS_Kc0yY/); height: 510px; width: 853px;" onclick="play();"&amp;gt;&amp;#13;&amp;#10;&amp;lt;/div&amp;gt;&amp;#13;&amp;#10;&amp;#13;&amp;#10;Share formats:&amp;#13;&amp;#10;&amp;lt;a id="longurl" href="http://toolboxy.blogspot.com/2011/05/ry.html?http://www.youtube.com/watch?v=L6qjVSieVnQ"&amp;gt;&amp;lt;span class="Apple-style-span" style="color: #38761d;"&amp;gt;http://toolboxy.blogspot.com/2011/05/ry.html&amp;lt;/span&amp;gt;&amp;lt;span class="Apple-style-span" style="color: red;"&amp;gt;&amp;lt;b&amp;gt;?&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span id="longcode" class="Apple-style-span" style="color: blue;"&amp;gt;http://www.youtube.com/watch?v=L6qjVSieVnQ&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;#13;&amp;#10;or&amp;#13;&amp;#10;&amp;lt;a id="shorturl" href="http://toolboxy.blogspot.com/2011/05/ry.html?L6qjVSieVnQ"&amp;gt;&amp;lt;span class="Apple-style-span" style="color: #38761d;"&amp;gt;http://toolboxy.blogspot.com/2011/05/ry.html&amp;lt;/span&amp;gt;&amp;lt;span class="Apple-style-span" style="color: red;"&amp;gt;&amp;lt;b&amp;gt;?&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span id="shortcode" class="Apple-style-span" style="color: blue;"&amp;gt;L6qjVSieVnQ&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#13;&amp;#10;&amp;#13;&amp;#10;Add quick repeat bookmark:&amp;#13;&amp;#10;&amp;lt;pre class="brush:js;highlight:[0];"&amp;gt;javascript:location.href="http://toolboxy.blogspot.com/2011/05/ry.html?"+location.href.split("?v=")[1];&amp;#13;&amp;#10;&amp;lt;/pre&amp;gt;&amp;#13;&amp;#10;Notes:&amp;#13;&amp;#10;1. 請將以上程式碼加入書籤，名稱隨意自訂。&amp;#13;&amp;#10;2. 在需要重複播放的Youtube播放頁面上按下此書籤。&amp;#13;&amp;#10;&amp;#13;&amp;#10;Update records:&amp;#13;&amp;#10;2011.05.19 - 重覆播放機能完成。&amp;#13;&amp;#10;2011.05.28 - 讀取URL播放機能完成。&amp;#13;&amp;#10;2011.05.29 - Enter鍵播放、游標鎖定初始位置。&amp;#13;&amp;#10;2011.05.30 - 輸入框改到上方以方面快速貼入網址。&amp;#13;&amp;#10;2011.06.03 - 變數擷取機制改寫可減短化播放網址。&amp;#13;&amp;#10;2011.07.30 - 快速重複播放書籤。&lt;/textarea&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>金錢遊戲留言板刷新</title><link>http://toolboxy.blogspot.com/2011/07/money.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Tue, 26 Jul 2011 05:40:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-8302689257467570389</guid><description>安裝(v0.1)：&lt;br /&gt;
1. 新增書籤連結。&lt;br /&gt;
2. 標題自訂。&lt;br /&gt;
3. 網址貼入以下內容：&lt;br /&gt;
&lt;pre class="brush:xml;highlight:[0];"&gt;為維護地球世界和平已刪除=w=&lt;/pre&gt;說明：&lt;br /&gt;
也可以直接複製貼到網址列按下ENTER執行，&lt;br /&gt;
其中的3000是指3秒鐘刷新一次，&lt;br /&gt;
改成5000就是5秒鐘刷新一次。&lt;br /&gt;
&lt;br /&gt;
問題：&lt;br /&gt;
因為只是讓程式每3秒按一次左邊的『聊天室』按鈕，&lt;br /&gt;
所以你按訊息按鈕3秒後就會切回去聊天室...&lt;br /&gt;
&lt;br /&gt;
聲明：&lt;br /&gt;
雖然這個小工具沒有影響遊戲平衡，&lt;br /&gt;
但是造成了伺服器的負擔，&lt;br /&gt;
請慎用！！不要掛網！！&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: white;"&gt;javascript:setInterval("test2()", 3000);function test2(){var evt=document.createEvent("MouseEvents");evt.initEvent("click",true,true);document.getElementById("tag_win").getElementsByTagName("div")[0].dispatchEvent(evt);}&lt;/span&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>@餐廳/服飾店 送禮工具</title><link>http://toolboxy.blogspot.com/2011/06/atgames.html</link><category>Javascript</category><category>WebGame</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Thu, 23 Jun 2011 04:33:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-193624336926632946</guid><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilW9Gb-pHjrHTU12T2Jf9bb9Cfx-3EasTIiCdIuUBREzbNA5JB3Jk74S1o_O3_6hRlMhGfG0Djx5_E_RI5ae2CaiCa078euwNRNc9fCMtBN1r0rqKNzGQs1xJi9HjHqILfG49bNQvoPQE/s1600/9840894019160197041.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilW9Gb-pHjrHTU12T2Jf9bb9Cfx-3EasTIiCdIuUBREzbNA5JB3Jk74S1o_O3_6hRlMhGfG0Djx5_E_RI5ae2CaiCa078euwNRNc9fCMtBN1r0rqKNzGQs1xJi9HjHqILfG49bNQvoPQE/s640/9840894019160197041.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
安裝(v0.2)：&lt;br /&gt;
1. 新增書籤連結。&lt;br /&gt;
2. 標題自訂。&lt;br /&gt;
3. 網址貼入以下內容(點兩下選取)：&lt;br /&gt;
&lt;pre class="brush:js"&gt;javascript:var ac=document.getElementsByName("friendFrame")[0].contentDocument.getElementById("dscrp").parentNode.getElementsByTagName("input");for(i=0;i&amp;lt;10;i++){if(ac[i].type=="checkbox"){ac[i].click();}};&lt;/pre&gt;&lt;br /&gt;
說明：&lt;br /&gt;
餐廳好友多的朋友可能會有這種困擾，&lt;br /&gt;
送禮的時候常常點的手很痠或點歪，&lt;br /&gt;
如果您跟我一樣常常點到冒青筋的可以把這個按鈕裝上，&lt;br /&gt;
這顆按鈕的功能就是可以幫您一次選&lt;strike style="background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglITEw9fRXCcKNsAzCETwU6RcmU0WJ3SZlb8FCMhtgHFXSK851S6uiPkyV5BmP8LrOIr90hFDJoE4ZQwgFTRy2d_ZN3R-YaYRssAeyjqQA1yHRBjEvL0RVfuS0ELDCJ5l_qOHn82BoVmBC/) left 10px repeat-x;"&gt;(海苔)&lt;/strike&gt;十個人www&lt;br /&gt;
改天閒閒再改成按下去直接選10個並送出好了030&lt;br /&gt;
&lt;br /&gt;
註：&lt;br /&gt;
1. 目前僅測試過GoogleChrome、Firefox、IE(感謝小宇測試)可用。&lt;br /&gt;
2.您不用換分頁直接就會選到了。&lt;br /&gt;
&lt;br /&gt;
後記：&lt;br /&gt;
其實光寫這行就寫了兩三個鐘頭(果然還太淺Orz&lt;br /&gt;
就因為iframe域名權限問題沒辦法直接改寫，&lt;br /&gt;
最後才想到可以直接給click動作命令-.-"&lt;br /&gt;
也稍微學到些經驗感覺還不錯，&lt;br /&gt;
至於Flash控制實在太難就不打算去學了(舉白旗&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
版本說明：&lt;br /&gt;
v0.1 - 一次選十個基本功能雛型&lt;br /&gt;
&lt;pre class="brush:js"&gt;javascript:for(i=0;i&amp;lt;10;i++){document.getElementsByName("friendFrame")[0].contentDocument.getElementById("dscrp").parentNode.getElementsByTagName("input")[i].click();};
&lt;/pre&gt;&lt;br /&gt;
v0.2 - 修正最後一批會自動按送出的問題&lt;br /&gt;
&lt;pre class="brush:js"&gt;javascript:var ac=document.getElementsByName("friendFrame")[0].contentDocument.getElementById("dscrp").parentNode.getElementsByTagName("input");for(i=0;i&amp;lt;10;i++){if(ac[i].type=="checkbox"){ac[i].click();}};&lt;/pre&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilW9Gb-pHjrHTU12T2Jf9bb9Cfx-3EasTIiCdIuUBREzbNA5JB3Jk74S1o_O3_6hRlMhGfG0Djx5_E_RI5ae2CaiCa078euwNRNc9fCMtBN1r0rqKNzGQs1xJi9HjHqILfG49bNQvoPQE/s72-c/9840894019160197041.PNG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>大小於HTML碼取代</title><link>http://toolboxy.blogspot.com/2011/06/rp.html</link><category>Javascript</category><author>noreply@blogger.com (QQBoxy)</author><pubDate>Fri, 10 Jun 2011 23:37:00 +0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2971191495132976816.post-6207707063504393871</guid><description>&lt;script type="text/javascript"&gt;
function replace() {
 var str = document.getElementById("input").value;
 var regex = str;
 if(document.getElementById("lt").checked == true)
  regex = regex.replace(/[&lt;]/gi,"&amp;lt;");
 if(document.getElementById("gt").checked == true)
  regex = regex.replace(/[&gt;]/gi,"&amp;gt;");
 if(document.getElementById("sp").checked == true)
  regex = regex.replace(/[\t]/gi,"    ");
 document.getElementById("output").value = regex;
}
&lt;/script&gt;
&lt;input type="checkbox" id="lt" checked/&gt;將小於取代為『&amp;amp;lt;』&lt;br /&gt;
&lt;input type="checkbox" id="gt" checked/&gt;將大於取代為『&amp;amp;gt;』&lt;br /&gt;
&lt;input type="checkbox" id="sp" checked/&gt;將Tab字元取代為『&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;』&lt;br /&gt;
&lt;textarea id="input" onclick="document.getElementById('input').select();" cols=100 rows=6&gt;Code&lt;br /&gt;&amp;#13;&amp;#10;&amp;#09;Code&lt;br /&gt;&amp;#13;&amp;#10;&amp;#09;&amp;#09;Code&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;
&lt;textarea id="output" onclick="document.getElementById('output').select();" cols=100 rows=6&gt;&lt;/textarea&gt;&lt;br /&gt;
&lt;input type="button" value="replace" onClick="replace()" /&gt;
&lt;br /&gt;
&lt;br /&gt;
原始碼：&lt;br /&gt;
&lt;pre class="brush:js;"&gt;&amp;lt;script type="text/javascript"&amp;gt;
function replace() {
&amp;#09;var str = document.getElementById("input").value;
&amp;#09;var regex = str;
&amp;#09;if(document.getElementById("lt").checked == true)
&amp;#09;&amp;#09;regex = regex.replace(/[&amp;lt;]/gi,"&amp;amp;lt;");
&amp;#09;if(document.getElementById("gt").checked == true)
&amp;#09;&amp;#09;regex = regex.replace(/[&amp;gt;]/gi,"&amp;amp;gt;");
&amp;#09;if(document.getElementById("sp").checked == true)
&amp;#09;&amp;#09;regex = regex.replace(/[\t]/gi,"    ");
&amp;#09;document.getElementById("output").value = regex;
}
&amp;lt;/script&amp;gt;
&amp;lt;input type="checkbox" id="lt" checked/&amp;gt;將小於取代為『&amp;amp;amp;lt;』&amp;lt;br /&amp;gt;
&amp;lt;input type="checkbox" id="gt" checked/&amp;gt;將大於取代為『&amp;amp;amp;gt;』&amp;lt;br /&amp;gt;
&amp;lt;input type="checkbox" id="sp" checked/&amp;gt;將Tab字元取代為『&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;』&amp;lt;br /&amp;gt;
&amp;lt;textarea id="input" onclick="document.getElementById('input').select();" cols=40 rows=6&amp;gt;Code&amp;lt;br /&amp;gt;&amp;#13;&amp;#10;&amp;#09;Code&amp;lt;br /&amp;gt;&amp;#13;&amp;#10;&amp;#09;&amp;#09;Code&amp;lt;br /&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br /&amp;gt;
&amp;lt;textarea id="output" onclick="document.getElementById('output').select();" cols=40 rows=6&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br /&amp;gt;
&amp;lt;input type="button" value="replace" onClick="replace()" /&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;
說明：&lt;br /&gt;
用於將程式碼貼入具檢查機制之部落格，&lt;br /&gt;
避免該部落格過濾器判斷錯誤而事先轉碼。&lt;br /&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item></channel></rss>