Showing posts with label Java. Show all posts
Showing posts with label Java. Show all posts

2012-01-07

JavaScript で、クリック時に文字列が選択されるテキストボックス

トラックバックの URL とか、コピーしてほしい情報があるときには、input 要素や textarea 要素をよくこんな風にしますよね。




従来の書き方

これってずっと
<input type="text" value="選択したい文字列" onfocus="this.select();" />
って書くとばかり思っていたんですが、どうやら違うみたいです。

というのは、上記のコードだと Google Chrome で文字列が選択されないから。Google Chrome の人は、次のテキストボックスで試してみてください。




Google Chrome に対応した書き方

それでは、最初に載せたテキストボックス(インプット要素)のように Google Chrome でも選択可能にするにはどうすればいいのかというと…。
<script type="text/javascript"><!--
  function selectTextboxContent(textbox) {
    setTimeout(function() {textbox.select();}, 0);
  }
//--></script>

と関数を定義しておいて

<input type="text" value="選択したい文字列" onfocus="selectTextboxContent(this);" />

っていう感じで使うといいみたいです。ぜひお試しください。
参考:
jQuery の場合

ちなみに、jQuery で振る舞いを指定したい場合には、次のサイトが参考になるかと思います。
というか…(追記 2012-01-08)

最後に紹介した jsdo.it のデモを見る限り、

<input type="text" value="選択したい文字列" onclick="this.select();" />

だけでいい気がしてきました。簡単だし。

2010-08-12

PageRank の取得

GAE アプリに役立てられないかなと、ウェブページの Google ページランクを取得する Java コードを探していたところ、こんなのを発見。
public static String getHash(String url) {
    int c = 16909125;
    for (int d = 0; d < url.length(); d++) {
      String HASH_SEED_ = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE. Yes, I'm talking to you, scammer.";
      c^ = ((int) HASH_SEED_.charAt(d%HASH_SEED_.length())) ^ ((int) url.charAt(d));
      c = c >>> 23 | c << 9;
    }
    return hexEncodeU32(c);
}
上記は、ページランク問い合わせの際に、ウェブページの URL とともに送るチェックサムの計算方法。ハッシュの種が
Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE. Yes, I'm talking to you, scammer.
(ページランク掘り出しは Google の利用規約違反だってば!聞いてんの?この詐欺師!)
って…。使うなってことですね。はい。

Zenback - Everyone's Related Posts