飛び先をhttp://www.hatena.ne.jp/0000000000#a00とするリンク(アンカー)が「はてな」内外にたくさんあると思います。

 そこいらのブラウザでそのリンクをクリックしたときに、http://q.hatena.ne.jp/0000000000#a00が表示されるような仕組みは考えられますか?
 リンク元のページをメンテナンスする方法ではなくて、はてな側で出来ること──つまりはてなアイデアへ進言する内容を検討して欲しいです。
【参考】
http://d.hatena.ne.jp/Kityo/20060319/1142732340

回答の条件
  • 1人50回まで
  • 1000 ptで終了
  • 登録:
  • 終了:2006/03/26 12:00:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答11件)

ただいまのポイント : ポイント9 pt / 1000 pt ツリー表示 | 新着順
 

idea:9324に登録しました キチョー id:Kityo2006/03/21 11:12:05

 idea:9324に登録しました。

例えば キチョー id:Kityo2006/03/21 11:01:11

 例えば/1140077010をリクエストされたwww.hatena.ne.jpは、次のような「移転しましたページ」を出力すれば良いかと思います。

<HTML><HEAD>

<SCRIPT lang=”JavaScript”><!--

function letsgo()

if( ”#a1” == location.hash ) location.href=”http://q.hatena.ne.jp/1140077010#a487815”;

else if( ”#a2” == location.hash ) location.href=”http://q.hatena.ne.jp/1140077010#a487816”;

else if( ”#a3” == location.hash ) location.href=”http://q.hatena.ne.jp/1140077010#a487817”;

else if( ”#a4” == location.hash ) location.href=”http://q.hatena.ne.jp/1140077010#a487818”;

else if( ”#a5” == location.hash ) location.href=”http://q.hatena.ne.jp/1140077010#a487819”;

else location.href=”http://q.hatena.ne.jp/1140077010”;

// --></SCRIPT>

</HEAD>

<BODY onLoad=”setTimeout(’letsgo()’,5000)”>

<P>http://www.hatena.ne.jp/1140077010は移転しました<BR>5秒後に適切な場所へジャンプします。</P>

</BODY></HTML>

アイデア出してみます! キチョー id:Kityo2006/03/21 10:51:52

 iwaimさん、色々考えてくれてありがとうございます。

 何となく行けそうな気がしてきたので、アイデア出してみます。

ブラウザは、ただリンク先を表示するだけ きゃづみぃ2006/03/20 17:55:44

なので、HTMLの出力に工夫が必要となります。

はてな側で できることは、はてな内でしかないでしょう。

Re: #aの後ろの変換ルールが「はてな」にしか分からないと思われる理由 iwaim2006/03/20 03:54:59

なるほど。ま、それははてなの中の人に実装してもらえば問題ないので、要望を出す際には気にしなくてよいでしょうね。

#aの後ろの変換ルールが「はてな」にしか分からないと思われる理由 キチョー id:Kityo2006/03/19 23:37:07

 [Re2]だけ見ていると、元の数字に何かを足せば良いだけのように思えますが、多分それは旧システム下で終了した質問の(旧システム下でオープンされた)回答だけのように思われます。

 例えば新システム下のquestion:1142583773ですと、回答番号毎に次のような#a~が割り当てられています。

  1. #a502693
  2. #a502694
  3. #a502695
  4. #a502697
  5. #a502703

 連続番号になってないですよね?

 多分回答が登録されたかオープンされたかの順序に基く、内部データベースの表現に近い番号なのではないかと思われのるです。

Re[2]: #aの後ろ側の変換も必要らしい キチョー id:Kityo2006/03/19 23:17:48

 多分、#aの後ろの変換ルールは「はてな」にしか分からないような気がします。

 そこで、次のような戦略が考えられると思います。

  • /0000000000をリクエストされたwww.hatena.ne.jpは「移転しましたページ」出力する
  • 「移転しましたページ」には、移転前の#a~と移転後の#a~の変換が可能なJavaScriptが仕組んであって、OnLoadの××秒後に適切な場所に(JavaScriptで)移動させる。
  • 例としてquestion:1140077010の場合、次のように変換する必要があるようです
    • #a1⇒#a487815
    • #a2⇒#a487816
    • #a3⇒#a487817
    • #a4⇒#a487818
    • #a5⇒#a487819

Re: #aの後ろ側の変換も必要らしい iwaim2006/03/19 22:29:36

僕は「リバース proxy」はよく分かっていないのですが、「www.hatena.ne.jpをみるとq.hatena.ne.jpが表示されるように」するような芸当が可能なhatena.ne.jp側で実行する(サーバーサイドの)ツールって感じですか?

そうです。

takntさんのスレに返信していて気がついたのですが、#aの後ろも何らかのルール(どんなルールか、分からない)で変換する必要があるみたいです。

なるほど。それだとクライアントサイドでやるしかないですね。#hoge はサーバ側には送られないので。

JavaScript でなんとかできないこともないんでしょうけど、どうなんだろうなぁ。

#aの後ろ側の変換も必要らしい キチョー id:Kityo2006/03/19 22:06:42

 id:iwaimさん、トラバ(http://d.hatena.ne.jp/iwaim/20060319/1142741062)ありがとうございます。

 僕は「リバース proxy」はよく分かっていないのですが、「www.hatena.ne.jpをみるとq.hatena.ne.jpが表示されるように」するような芸当が可能なhatena.ne.jp側で実行する(サーバーサイドの)ツールって感じですか?

 ただ「リバース proxy」なるツールでは難しそうな状況に気がついてしまいました。

 takntさんのスレに返信していて気がついたのですが、#aの後ろも何らかのルール(どんなルールか、分からない)で変換する必要があるみたいです。

  • (変換前)http://www.hatena.ne.jp/1140077010#a2
  • (変換後)http://q.hatena.ne.jp/1140077010#a487816

 「回答数上限:0件」と表示されるのは、現在の仕様の様子です。(idea:9210)

つまり、はてな内では自動的に変換せよと? キチョー id:Kityo2006/03/19 21:37:58

 例えばquestion:1140077010でのtakntさんの回答を引き合いに出しているダイアリーがあったとして、2月頃に書かれた記事なら、「takntさんの回答」のようにhttp://www.hatena.ne.jp/1140077010#a2をリンク先にしていると思います。

 このリンク先をはてな側で自動的にhttp://q.hatena.ne.jp/1140077010#a487816に置き換えてダイアリーのhtmlに出力せよと言う趣旨ですよね?

 しかしその方法だと次のような問題が生じませんか?

  • 置き換えをエスケープする記法が(遅かれ早かれ)必要になり、複雑化する
  • 置き換えをエスケープする記法で書き直せるコンテンツ(ダイアリーなど)は良いが、書き直せないコンテンツは半永久的に意味不明な内容になる(例えば、このいわし質問が意味不明になる)

はてなのHP内だとできるが きゃづみぃ2006/03/19 13:18:15

質問番号と回答番号を記述したら、http://q.hatena.ne.jp/0000000000#a00というリンク先にリンクづけることは 簡単でしょう。

 

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません