idea:3887 向け自分で自分を慰めるユーザスクリプト
追記
もし使おうという方は、実際にはもう以下の話は古いので、id:toinami:20050828の物を使って下さい。
- 「はてなアイデア」
らへん。はてなアイデアに出しても見向きもされないという悲しさ。同じ失敗(特定日付の日記を書いたと思ったら今日に追記された)をした人だけが判ってくれるという…。(→ http://d.hatena.ne.jp/wata_d/20050731)
過去とか未来の日付を書きたい時不便*1なんですが、idea:3887はもちろん、関連かつ検討中のidea:833もなかなか出てこないので、greasemonkey上のユーザスクリプトで対応。
// Copyright (C) 2005, toinami. // // ==UserScript== // @name HatenaDiary edit date from URL // @namespace http://d.hatena.ne.jp/toinami/ // @include http://d.hatena.ne.jp/*/edit?date=* // ==/UserScript== (function () { var urldate; location.href.match(/.*edit\?date=(\d{8}$)/); if (RegExp.$1) { //alert(RegExp.$1); urldate = RegExp.$1; } else { return; //日付が8桁じゃないとか数字じゃないとか } urldate.match(/^(\d{4})(\d{2})(\d{2})$/); var y = RegExp.$1; var m = RegExp.$2; var d = RegExp.$3; var inputTags = document.getElementsByTagName("input"); var modified = false; for (var i=0; i<inputTags.length; i++) { var inputTag = inputTags[i]; if (! inputTag.getAttribute("name")) continue; if (inputTag.getAttribute("name").toLowerCase()=="year") { if (inputTag.value==y) continue; inputTag.value=y; modified = true; } if (inputTag.getAttribute("name").toLowerCase()=="month") { if (inputTag.value==m) continue; inputTag.value=m; modified = true; } if (inputTag.getAttribute("name").toLowerCase()=="day") { if (inputTag.value==d) continue; inputTag.value=d; modified = true; } } //if (modified) { // alert("date update"); //} })();
程度で対応。javascriptのリファレンスがないのでコピペと直感。動くからいいや、的な。
@includeって*途中に入れて大丈夫かなーと思わなくもなかったけど、きちんと効くようだ。すごいな。
*
って、なんでユーザ側で頑張らねばならないのか……。
*
[追記]時折ここで書いておくとid:frainさんが買ってくれている。ありがたい事です。
*1:それほど過去とか未来の日付を使うことはないけど