昨日の物を修正
追記
もし使おうという方は、実際にはもう以下の話は古いので、id:toinami:20050828の物を使って下さい。
http://d.hatena.ne.jp/toinami/20050802/p1 を、深く考えずに修正。
HTMLの内容が(今後もずっと)まともだと信じて、不要なチェック外してみたり、昨日は思い出せなかったswitch文を使うようにしてみたり。
// 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=* // @include http://*.g.hatena.ne.jp/*/edit?date=* // ==/UserScript== // v0.2 // ・name属性のないinput要素なんて無いだろうからその辺のチェックとか削除。 // ・toLowerCaseとかも要らないだろう。 // ・if→switch-case // ・はてなグループの編集画面でも使えるよう@include追加 (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]; switch(inputTag.getAttribute("name")) { case "year": if (inputTag.value==y) continue; inputTag.value=y; //modified = true; break; case "month": if (inputTag.value==m) continue; inputTag.value=m; //modified = true; break; case "day": if (inputTag.value==d) continue; inputTag.value=d; //modified = true; break; default: } } //if (modified) { // alert("date update"); //} })();