post2haiku
by
fumokmm
2011-05-25 [2011/05/25 07:23:49]
はてなハイク(http://h.hatena.ne.jp/)投稿用ボタンを設置します。
@@ -3,7 +3,9 @@
* @private
*/
-// 参考: http://nplll.com/archives/2009/04/javascript_2.php
+// [参考]
+// http://developer.hatena.ne.jp/ja/documents/haiku/misc/forms
+// http://nplll.com/archives/2009/04/javascript_2.php
(function(){
var configs = new Object;
@@ -30,7 +32,7 @@
/* 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';
+var buttonImageUrl = 'http://h.hatena.ne.jp/images/haiku-button.png';
/* ボタンのHTML作成 */
with(document){
/*
* @title post2haiku
* @private
*/
// [参考]
// http://developer.hatena.ne.jp/ja/documents/haiku/misc/forms
// http://nplll.com/archives/2009/04/javascript_2.php
(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(/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 ? unescape(configs.body) : '';
// キーワード (指定なしならボタンを設置してあるURL)
var word = configs.word ? unescape(configs.word) : location.href;
/* URL作成 */
var postUrl = 'http://h.hatena.ne.jp/?_charset_=utf-8&body=' + body + '&word=' + word;
/* ボタンのイメージのURL */
var buttonImageUrl = 'http://h.hatena.ne.jp/images/haiku-button.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 です。