post2haiku
by
fumokmm
2011-05-25 [2011/05/25 07:23:49]
はてなハイク(http://h.hatena.ne.jp/)投稿用ボタンを設置します。
@@ -22,11 +22,24 @@
configs[tmp[0]] = unescape(tmp[1]);
}
-var body = configs.body
-var url = 'http://h.hatena.ne.jp/?_charset_=utf-8&body=' + body + '&word=' + location.href;
+/* パラメータ取得 */
+// 本文 (指定なしなら空文字)
+var body = configs.body ? configs.body : '';
+// キーワード (指定なしならボタンを設置してあるURL)
+var word = configs.word ? configs.word : location.href;
-document.open();
-document.write('<a href="' + url + '"><img src="http://cdn-ak.f.st-hatena.com/images/fotolife/f/fumokmm/20110520/20110520210205.png"/></a>');
-document.close();
+/* URL作成 */
+var postUrl = 'http://h.hatena.ne.jp/?_charset_=utf-8&body=' + body + '&word=' + word;
+/* ボタンのイメージのURL */
+var buttonImageUrl = 'http://cdn-ak.f.st-hatena.com/images/fotolife/f/fumokmm/20110520/20110520210205.png';
+
+/* ボタンのHTML作成 */
+with(document){
+ open();
+ write('<a href="' + postUrl + '">');
+ write('<img src="' + buttonImageUrl + '"/>');
+ write('</a>');
+ close();
+}
})();
/*
* @title post2haiku
* @private
*/
(function(){
var configs = new Object;
var scripts = document.getElementsByTagName("script");
for (var i = 0; i < scripts.length; i++) {
var s = scripts[i];
// if (s.src && s.src.match(/gYC-yIHW3dTBEA\.js(\?.*)?/)) {
if (s.src && s.src.match(/bit.ly\/post2haiku(\?.*)?/)) {
var params = s.src.replace(/.+\?/, '');
break;
}
}
params = params.split("&");
for(var i = 0; i < params.length; i++) {
var tmp = params[i].split("=");
configs[tmp[0]] = unescape(tmp[1]);
}
/* パラメータ取得 */
// 本文 (指定なしなら空文字)
var body = configs.body ? configs.body : '';
// キーワード (指定なしならボタンを設置してあるURL)
var word = configs.word ? configs.word : location.href;
/* URL作成 */
var postUrl = 'http://h.hatena.ne.jp/?_charset_=utf-8&body=' + body + '&word=' + word;
/* ボタンのイメージのURL */
var buttonImageUrl = 'http://cdn-ak.f.st-hatena.com/images/fotolife/f/fumokmm/20110520/20110520210205.png';
/* ボタンのHTML作成 */
with(document){
open();
write('<a href="' + postUrl + '">');
write('<img src="' + buttonImageUrl + '"/>');
write('</a>');
close();
}
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。