Hatena::ブログ(Diary)

HM weblog

 | 

2009-02-12

DOM Scripting 標準ガイドブック ~やさしく学ぶ、JavaScriptとDOMによるWebデザイン~ (Web Designing BOOKS)

先日購入した。いづれじっくり讀みたい。

『DOM Scripting 標準ガイドブック』を読んだ - blog.8-p.info:

最後が、HTML と JavaScript のつきあわせかただ。なぜ href=”photo.jpg”href=”javascript:openPhoto()”onclick=”openPhoto()” href=”#” と書き換えるべきではないのか。「Lightbox で開くからユーザービリティが高い」というのは全然わかっていない。この種の書き方は HTML から意味を剥奪しているという点で間違っていて、その間違いは「Googlebot がリンクをたどってくれない」「真ん中のボタンでクリックしてもタブで開けない」といったかたちで運営者や利用者にはねかえってくる。

じゃあどうするの、というところがこの本にはちゃんと書いてある。「HTML と JavaScript のつきあわせかた」という問題にちゃんとマークアップされた文章に対して段階的強化 (progressive enhancement) として振る舞いを追加するという解をだし、その実現方法を丁寧に説明しているところが素敵だと思います。

『DOM Scripting 標準ガイドブック』を読んだ - blog.8-p.info

此の書評と、本から引用されてゐるちゃんとマークアップされた文章に対して段階的強化 (progressive enhancement) として振る舞いを追加するといふ言葉を見たとき、眞っ先に思ったことは「この本はなほやんが讀むべきものだ」とかなんとか。はてなブックマークを利用するには、ブラウザのJavaScriptが有効になっている必要があります。動作環境に関してなんて臺詞を言ってしまったらDOMプログラマとして「負け」だよ。JavaScriptが無くても最低限利用出來て、且つJavaScriptが有效だとより便利に使ふことが出來る――さういふ設計は可能な筈。それが可能なプロならはてなだめだし (agenda)

標準DOMスクリプティング JavaScript+DOMによるWebアプリデザインの基礎

はてなブックマーク - hirokidaichiのブックマーク - 2009年1月18日:

hirokidaichi http://www.amazon.co.jp/dp/4797336382 地味にこちらもいいよ。progressive enhancementとgraceful degradationは事象の両側面から見るために片方だけでなく対として覚えるべき言葉だとおもふ。 2009/01/18

Comment by id:hirokidaichi (はてなブックマーク - 『DOM Scripting 標準ガイドブック』を読んだ - blog.8-p.info)

といふことで此方も購入。

はてなブックマーク - 早い話が:読めなくていい漢字=金子秀敏 - 毎日jp(毎日新聞)

本氣で「讀めない」早い話が:読めなくていい漢字=金子秀敏 - 毎日jp(毎日新聞)の解讀。

日本のヤングアダルト小説を台湾で出すとこうなる - つちのこ、のこのこ。(はてな番外地)

もう日本が滅んでもオタクの衣鉢は台湾がリッパに継いでくれるだろうから安心ですね。

日本のヤングアダルト小説を台湾で出すとこうなる - つちのこ、のこのこ。(はてな番外地)

ですね。

いはつ 0 【衣鉢】
(3)学問・芸術などで、師から弟子に伝えるその道の奥義。また、一般に、先人から受け伝えたもの。
「―を継ぐ」「―を伝える」
いはつ 0 【衣鉢】 - goo 辞書
2009-02-12T00:40:54+09:00

はてなダイアリーとはてなブックマークの使ひ分け問題。

はてなブックマークの方はもう「お気に入り」專用だな。一月中頃までは「お氣に入り」登録數が「61」とか馬鹿みたいなことになってゐて、過去の自分に呆れてしまった――そんなの捌けるわけないだらうが何考へてゐたんだ自分とかなんとか――のだが、今は嚴選してある。消したくないものもあったが、斷腸の思ひで一氣に4人まで減らした。その後b:id:funaki_naotoを再登録して、現在5人。(「サイドバー」にお気に入り 10はてなブックマーク - HM bookmarks - mhrs のお気に入りと表示されてゐるが、此の差は「『お氣に入り』に登録後『非公開』設定となったブックマークユーザの數」を含む爲。關聯: idea:23209。)

はてなブックマーク - うんこめも - はてなは馬鹿だから

名タグ。馬鹿な子ほど可愛いんだから。

はてなブックマーク - Nagiseのブックマーク - 2009年2月10日

個人的には日本のコミック版のほうが好きだが、これはこれで流行るかもなぁ。いや、ミルカさんは黒髪ストレートじゃないと。メガネっ娘をなんだと思っているんだ

Comment by id:Nagise (はてなブックマーク - 日本のヤングアダルト小説を台湾で出すとこうなる - つちのこ、のこのこ。(はてな番外地))
眼鏡

LCPの。

2009-02-12T02:42:28+09:00
http://192.168.1.3/fragment/ ……?
2009-02-12T03:16:29+09:00

昨日一昨日からはてなアンテナが重い。十日にメインテナンスがあった筈なのだが、其れ以來惡化してゐないか? はてなアンテナのリダイレクタhttp://a.hatena.ne.jp/goを無效化するユーザスクリプトが必須。その爲のコードはとても簡單なもので濟むのだが、最近はそれさへも「面倒くさい」とかなんとか何この駄目人間。

で、userscripts.orgにあるだらうと思ったら無かった。Search Userscripts.org。仕方無いので結局書くことに。


// ==UserScript==  -*- coding: utf-8; mode: ecmascript; c-basic-offset: 3 -*-
// @name           Kill Hatena::Antenna Redirector
// @namespace      http://d.hatena.ne.jp/mhrs/userscripts
// @include        http://a.hatena.ne.jp/*/*
// ==/UserScript==

// Copyright (C) 2009  Hiroshi Moriyama

// Author: Hiroshi Moriyama <hiroshi@kvd.biglobe.ne.jp>
// Created: 2009-02-12T02:55:05+09:00
// Last Modified: 2009-02-12T03:21:26+09:00

// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.


/// TODO:

// - "mobile satomican" のやうな、日附の見出しを作る。

/// Code:

(function(){
   const xpath = '/descendant::a[starts-with(@href, "http://a.hatena.ne.jp/go?")]';
   const re = /^http:\/\/a\.hatena\.ne\.jp\/go\?(http:\/\/.+)([0-9]{14})$/;
   var links = document.evaluate(xpath, document.body, null, 7, null);
   links = toArray(links);
   links.forEach(function(e,m){ if(m = e.href.match(re)) e.href = m[1] });

   function toArray (domNodes) {
      var ary = [];
      var len;
      if (domNodes.item) {
         len = domNodes.length;
      }
      else if (domNodes.snapshotItem) {
         len = domNodes.snapshotLength;
         domNodes.item = domNodes.snapshotItem;
      }
      for (var i = 0; i < len; i++) {
         ary.push(domNodes.item(i));
      }
      return ary;
   }
})();

/// kill_hatenaantenna_redirector.user.js ends here
インターネット犯罪者「義」の嫌がらせ - 闇黒日記2.0 - Yahoo!ブログ

現時點で、「義」が俺のメールアドレスを勝手に登録したサーヴィスを利用してゐる別のユーザから、苦情が出てゐる。企業にとつて、「義」の行爲は、自社の信用を毀損したもので、業務妨碍と看做し得る。

インターネット犯罪者「義」の嫌がらせ - 闇黒日記2.0 - Yahoo!ブログ

一昨年の中頃だが、僕のところにもメイルアドレス不正使用によるメイルが屆いた。之を讀んで、面倒がらずにちゃんと通報するべきだったなと反省。迷惑メイルやメイルアドレス不正使用は、其のメイルアドレスの持主だけでなく第三者にまで被害が及ぶことがあり得るのだ、と。迷惑メイルを餘り輕く考へるのは如何なものか、と(※迷惑メイルの送信は歴とした犯罪行爲)。spamフィルタによって殆ど無力化されるとは言へども、放置するのもよくないな、と。

20090212054716.png (PNG Image, 637×342 pixels)

2009-02-12T07:54:32+09:00

「はてなスター」の使ひ方が分った氣がする。はてなスターは「☆」を附けるときに何處かテキストを範圍選擇してあると、そのテキストをコピーする。

特に気に入った文章や言い回しがある場合はその箇所を引用して☆を付け、どこが良いと思ったかを相手に伝えることもできます。引用するには、マウスカーソルで気に入った文字をドラッグして選択した状態でAdd(Add)ボタンをクリックしてください。

はてなスター ヘルプ - Hatena Star

さうしてコピーされたテキストは、附けられた「☆」にmouseoverするとポップアップ表示される――此の手の「ポップアップ表示」は著者CSS必須なのが拙いとかなんとかそれは別の話――ほか、「☆」を附けたユーザの「☆履歴ページ」にリストされる(參考スクリーンショット)。

よって「はてなスター」は簡易的なスクラップブックとして使ふ事が可能だ。

自分の☆履歴ページ(http://s.hatena.ne.jp/ユーザー名/stars)にも引用した文字が表示されるので、あとから気になった文章などをまとめて見るのにも便利です。

はてなスター ヘルプ - Hatena Star

但しこのリストを公開出來ないのが致命的(他のユーザがアクセスしても403 Forbidden)。駄目ぢゃん。

「DL日記」の検索結果 - HM weblog

2009-02-06DL日記といふ語句があるが、これ、檢索にヒットしないんだ。何故だと思ふ?

  1. しなん: 「Bow bow!」 (譯: 「「abbr title="Definition List"」で檢索すればヒットするよ。はてなダイアリーをよろしくね、ワン!」
  2. 「えーマジソース直接grep?」
  3. 「キモーイ」
  4. 「タグを取除ずソースに直接檢索掛けるのが許されるのは小學生までよねー」
  5. 「キャハハハハハハ」
  6. もん: 「しょぼーん……」 (人語喋った!)

「はてな」は適切な檢索機能を實裝しろ。そして近藤淳也に謝れ。

Original text

はてなは適切な言葉を使え。そして近藤淳也は犬に謝れ - YAMDAS現更新履歴

個人的にはHTTP應答ヘッダさへ適切に喋ってくれれば、同應答本文の中身は或意味どうでも。

2009-02-12T19:04:51+09:00
@-moz-document
    url-prefix("http://mayokara.info/deadspace/")
{
    .marker {
        opacity: 0.65;
    }
}
はてなアイデア - [はてなダイアリー]【不具合】 Firefox で、プレビュー中に脚注リンクをクリックするとスクリプトが暴走する

今も再現するのかどうかは確認してゐないので分らない(めどい)。コメント欄にパッチ書いたのに絶贊放置中。かういふ放置の仕方をすると「もう二度とフィードバックしてやるものか」とか思はれ兼ねないんぢゃない? 大丈夫ですか「はてな」さん。(まるで他人事のやうに言ふ)

灰色港

僕はまだ黄昏れてゐない。もうちょっと頑張る。「はてな」利用一日目から後悔2005-01-05 - HM weblogしちゃった人だけれど、でも使ひ始めてしまったからにはユーザとして出來ることを。はてなアイデアでのバグ報告は、さういふ意圖でやってゐる。

たださういふ意味ならば、「はてな」ユーザにしか恩惠のない「改善」を要求しても無意味なんだよな。と最近は考へてゐる。もっと「外」のWWWユーザにとっても役立つ要望をして行かないと。たとへば「はてなアイデア - 株式会社『はてな』を解散する」とか。

2009-02-12T21:12:15+09:00

生成された「リンクソース」の選擇はトリプルクリックで。


// ==UserScript==  -*- coding: utf-8; mode: ecmascript; c-basic-offset: 3 -*-
// @name           Get Hatena::Idea Link
// @namespace      http://d.hatena.ne.jp/mhrs/userscripts
// @include        http://i.hatena.ne.jp/idea/*
// ==/UserScript==

// Copyright (C) 2009  Hiroshi Moriyama

// Author: Hiroshi Moriyama <hiroshi@kvd.biglobe.ne.jp>
// Created: 2009-02-12T19:54:49+09:00
// Last Modified: 2009-02-12T20:49:27+09:00
// Keywords: hypermedia, hatena

// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.


/// Code:

(function(){
   const linkSrcTemplates = [
      '<a href="%URL%">%TITLE%</a>',
      '<a title="%TITLE%" href="%URL%">idea:%IDEANUM%</a>',
   ];
   const originalTitle = document.title;
   const url = location.href.replace(location.hash, "");
   const ideaNumber = url
      .match(/^http:\/\/i\.hatena\.ne\.jp\/idea\/([1-9][0-9]+)$/)[1];
   const pankuzuNavi = document.getElementById("breadcrumbs");
   const category = pankuzuNavi.getElementsByTagName("a").item(1).textContent;
   const title =
      originalTitle.replace(/^(はてなアイデア - \s*)(.+)$/, function($0,$1,$2){
         var prefix = $1 + "[" + category + "]";
         if (! $2.match(/^\[/))
            prefix += " ";
         return prefix + $2 });

   var linkSrcs = linkSrcTemplates.map(function(tmpl){
                     return tmpl.replace(/%URL%/g, url)
                                .replace(/%TITLE%/g, title)
                                .replace(/%IDEANUM%/g, ideaNumber) });
   var out = document.createElement("ul");
   linkSrcs.forEach(function(src){
      out.appendChild(document.createElement("li"));
      out.lastChild.style.fontSize = "x-small !important";
      out.lastChild.style.whiteSpace = "nowrap !important";
      out.lastChild.style.overflow = "auto !important";
      out.lastChild.appendChild(document.createTextNode(src));
   });
   pankuzuNavi.parentNode.insertBefore(out, pankuzuNavi.nextSibling);
})();

/// get_hatenaidea_link.user.js ends here
はてなアイデア - [はてなダイアリー] w3mで「確認する」で確認用の画面を表示後「この内容を登録する」と,改行が全て無視されてしまう.(コメント参照)
w3mでプレビュー後更新すると改行が失われる - ideatesterの日記

xnissy 『確認用の画面で,input name="body" type="hidden" の value に改行が含まれています.HTML的にinvalidではありませんが,それをブラウザがそのまま返してくれることを期待してはいけないのではなかったでしょうか.』 (2006-06-15 20:39:36)

はてなアイデア - w3mで「確認する」で確認用の画面を表示後「この内容を登録する」と,改行が全て無視されてしまう.(コメント参照)

inputのvalue属性値に含まれる改行は數値文字參照にすればいい。といふかするべきだと思ふ(それで此のw3mで起きてゐる問題が解決されるのかどうかは知らないが、たぶん解決するのではないかと)。

あれ? 否、數値文字參照で書いた改行もやはり改行文字CRあるいはタブ文字は、1つの空白文字で置き換えられる對象になるのかしら。

17.4 INPUT要素 - Forms in HTML documents (ja):

value = cdata [CA]
この属性は、当該コントロールの初期値を指定する。 type属性の値が "radio" か "checkbox" 以外の場合、この属性は省略可能である。
Forms in HTML documents (ja)

CDATA - Basic HTML data types (ja):

  • CDATAは、文書文字集合中の任意の文字の列であり、文字実体をも含む。ユーザエージェントは、この属性値を次のように解釈する必要がある
    • 文字実体は文字で置き換える。
    • 改行文字LFは無視する
    • 個々の改行文字CRあるいはタブ文字は、1つの空白文字で置き換える。

    ユーザエージェントは、CDATA型属性値の、冒頭あるいは末尾の空白文字を無視してよい。(例えば「   myval   」を「myval」として解釈してよい。)著者は、冒頭あるいは末尾に空白文字のある属性値を宣言することを避けるべきである。

    HTML 4 のCDATA型属性値における正当な値集合について、本仕様書は、DTDでは記述されていない追加的な制約を記述している場合がある。

    STYLE要素とSCRIPT要素はCDATA型の内容モデルを持っているが、両要素について、ユーザエージェントはCDATAを以上とは異なる方法で処理する必要がある。 マーク付けと実体は生のテキストとして扱い、あるがままでアプリケーションに渡さねばならない。最初に現れる文字列「</」(終了タグ開始区切り子)は、そこで要素の内容が終わるものとして扱う。有効な文書では、これが当該要素の終了タグとなっている筈である。

Basic HTML data types (ja)
はてなアイデア - [はてなグループ] プレビューでの本文をhiddenじゃなくてtextareaにいれておけば、idea:10732が解決するし、「編集画面に戻る」手間が省けて便利なんじゃないの。

hatena 『レイアウトが崩れるため実現難しいです』 (2006-11-13 18:13:12)

はてなアイデア - プレビューでの本文をhiddenじゃなくてtextareaにいれておけば、idea:10732が解決するし、「編集画面に戻る」手間が省けて便利なんじゃないの。

レイアウトが崩れるだって? 假にさうだとして、しかし其處を何とかしてみせるのがプロってものだらう。

 |