• ベストアンサー

行番号を指定したリンク

テキストファイルへのリンクで行番号を指定する事が出来るでしょうか? 新しいウインドウを開いて, 例えばreadme.txtの123行目に飛びたいです。 <A target="_blank" href="readme.txtの123行目">読んでね</A> HTMLだけで出来ないのであれば、JavaScriptを使ってもかまいません。

  • HTML
  • 回答数4
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.3

<html> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <head> <TITLE>ヘ(・、ヘ)ホイホイ(ノ、・)ノホイホイ</TITLE> <SCRIPT LANGUAGE=javascript> var nw; function s(a){ txt.value = a; if(nw){ if(nw.closed){nw_open();} else { jump();return;} } else { nw_open(); } nw.attachEvent("onload",jump); } function nw_open(){ nw=window.open("read.htm",null,"height=500,width=500,scrollbars=yes,menubar=no,location=no,toolbar=no"); } function jump(){ nw.location.hash=inp.value; nw.focus(); } function window_onunload() { try{nw.close();} catch(er){} } //--> </SCRIPT> </head> <body LANGUAGE=javascript onunload="return window_onunload()"> <p>InternetExplorer5以上で<BR>このページがあるホームページスペース内(下層ディレクトリも可)限定です<BR>(同じサーバー内でも出来るかも)</p> <P><INPUT id=inp size=3 value=50>行目</P> <A id=oD href="javascript:oD.startDownload('readme.txt',s);" style="BEHAVIOR: url(#default#download)"> サイト内のファイル</A>(readme.txt)</P> <P><TEXTAREA id=txt style="display:none"></TEXTAREA> </P> </body> </html> ------read.htm------ <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <TITLE>__φ(゜ー゜*)フムフム___φ(。_。*)カキカキ</TITLE> <SCRIPT LANGUAGE=javascript> <!-- var s1 = window.opener.txt.value; var sa = new Array(); sa = s1.split("\n"); document.write("<PRE>"); for(i=1;i<=sa.length;i++){ document.write("<A name=" + i + "></A>"); document.write( sa[i] + "<BR>" ); } document.write("</PRE>"); //--> </SCRIPT> </HEAD> <BODY> </BODY> </HTML>

todo36
質問者

お礼

回答ありがとうございます。 startDownloadで読み込んで、document.writeで書く方法は理解できました。 jumpの部分はうーん難しい。。。 実戦では、readme.txtの必要な部分を切り取って表示することにしました。 <SCRIPT LANGUAGE=javascript> function onDownloadDone(s) { var y1 = inp2.value; var y2 = inp3.value; var w = window.open("","Newwindow" ,"top=100,left=100,width=300,height=300,resizable=yes,scrollbars=yes,dependent=yes" ); w.document.open(); var sa = new Array(); sa = s.split("\n"); w.document.writeln("<PRE>"); for(i = y1 - 1; i < sa.length && i <= y2 - 1; i++){ w.document.write( sa[i] + "<br>"); } w.document.writeln("</PRE>"); w.document.close(); w.focus(); return(false); } </script> <INPUT id=inp1 size=13 value="readme.txt">の <INPUT id=inp2 size=3 value=50>行目から <INPUT id=inp3 size=3 value=60>行目までを <A id=oD href="javascript:oD.startDownload(inp1.value, onDownloadDone);" style="BEHAVIOR: url(#default#download)">参照</A>

その他の回答 (3)

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.4

下の例では <A name タグを全行に挿入しましたが、 これは、サブウィンドウを閉じずにいろんなところを 指定できるように作りました。 別行を見る時にサブウィンドウを開きなおすのなら 親ウィンドウから指定行を取得して 一つだけ<A name タグを挿入したほうが 表示スピードが上がるかも。 別解1 ビヘイビアを使用しない方法として IFRAMEタグ + createTextRange()メソッドを使っても変数に取り込めます。 IE5以上限定ですが。

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.2

そのリンク先のテキストファイルは リンク元のページと 同じディレクトリか、 同じサイト内にあるの? 上記の条件 + InternetExplorer5以上(NNは持っていないので) なら出来ると思うけど。

todo36
質問者

補足

はい。 <A target="_blank" href="readme.txt"> のリンク先を123行目に飛びたいのです。 IE5以上限定でかまいませんので、よろしくお願いします。

  • nipotan
  • ベストアンサー率59% (134/227)
回答No.1

テキストへは不可能です。 また、JavaScript でも、リンク (リクエスト) が完了した時点で、フォーカスや制御がそのテキストファイルに移ってしまうのでスクロールすることも不可能です。 リンク先が HTML 等である場合は <a name="123"></a> で <a href="hogehoge.html#123">123行目</a>のようにしてやる事が可能ですが、そもそもテキストファイルはブラウザで開くものではない (開けるのはオマケみたいなもん) ので、ブラウザによってはダウンロードダイアログが表示されます。 なので、テキストファイル相手に行番号指定ってのは、諦めてください。

todo36
質問者

補足

回答ありがとうございます。 JavaScriptでリンク先を開いた後にスクロールは出来ました。 スクロールする量は行数×係数で計算していますが、この係数を求める方法は ないでしょうか? 私の環境で最適値は IE5.0で17.95 , NN4.78で22.9位です。 <script language="JavaScript"> //URLと行番号を指定してウインドウを開く function pop(url, y) { var w = window.open(url,"Newwindow" ,"top=100,left=100,width=300,height=300,resizable=yes,scrollbars=yes,dependent=yes" ); w.scrollTo(0, y * 17.95); //係数は環境により異なる w.focus(); return(false); } </script> <A href="readme.txt" onclick="return pop('readme.txt', 123)">読んでね</A>

関連するQ&A

  • 一つのリンクに複数のURLを指定

    一つのリンクに複数のURLを指定できますでしょうか? 想像タグ <a href="http://www.google.co.jp/" & "http://www.yahoo.co.jp/" target="_blank">検索</a> JavaScriptでも 構いません。 ネットではこんなのが見つかりました。 Bridges  |  BridgeURL http://bridgeurl.com/

    • ベストアンサー
    • HTML
  • スタイルシートでリンクターゲットの指定

    <a href="" target="_blank"> スタイルシート(class)で上記のようにリンクターゲットを指定することは可能なのでしょうか? 文法チェックでは、「<A> の属性 `TARGET` はあまり薦められない属性です」とあります。ですので、スタイルシートで指定できればと思っています。

  • 一度に二つの別ウインドウへリンク

    よろしくお願いいたします。 リンク先を同時に二つ同じ箇所に埋め込むことは可能なのでしょうか? 色々と調べてみたのですが、なかなか見つけることが出来ません。 通常、<A href="○○.htm" target="_blank"> でリンク先を指定いたしますが、これを <A href="○○.htm" target="_blank"><A href="□□.htm" target="_blank">ほげほげ</A> のような形で、上記の例で言いますと、「ほげほげ」をクリックすることで、別ウインドウで「○○.htm」と「□□.htm」の両方を同時に表示させたいのです。   上手く説明できていないかもしれませんが、構図としてやりたい形はこのようなものです。 ご教授いただければと思います。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • リンクとリンクの間に空白の行が

    VBSでhtmlファイルをつくるプログラムをつくっています。以下はその一部抜粋です。 For Each dataFile In aFolder.Files indexPageTS.WriteLine "<p style=""text-indent:" & n & "em""><a target=""_blank"" href='" & fso.BuildPath(aFolder.Path, dataPageName) & "'>" & linkName & "</a>" Next indexPageTS.WriteLine "</p>" とにかく、ファイル名でリンクを作ってループしているのですが、これをブラウザで表示すると、そのリンクとリンクの間に空白の行が挿入されてしまっているようなのです。いったいなぜでしょうか? HTMLはまったくの初心者です。ようやくインデントができた程度です。よろしくお願いします。

    • ベストアンサー
    • HTML
  • リンク先が指定した行からずれてしまう

    W7、IE8でタグを書いて個人HPを作っております。 リンク元でリンク先のHTMLとその行を<a name="・・・・”></a> とやりますと、htmlにはリンクするのですが、指定した行(場所)でなくリンク先htmlの最終行に飛んで しまうのです。 また、これは前々から思っていたのですが、確実に数行だけずれてしまうのです。 タグの記述に間違いがあるかもしれませんが、どういうミスが原因として考えられるでしょうか。 よろしくお願いします。

  • 特定のテキストにリンク

    特定のテキストにリンク javascriptで、html内に出てくる特定のテキストに<a>をつけてリンクさせるには、どのようにすればよいでしょうか。 例えば、 <div class="contents"> <p>私は都庁に行きます。</p> <p>私は上野にも行きます。</p> </div> とあったら、 <div class="contents"> <p>私は<a href="http://www.metro.tokyo.jp/" target="_blank">都庁</a>に行きます。</p> <p>私は<a href="http://www.ueno.or.jp/">上野</a>にも行きます。</p> </div> といった感じです。 このclass(id)の中の、この単語(テキスト)といった指定ができると良いです。 よろしくお願い致します。

  • 新しいウィンドウでリンクを開く方法。

    target="_blank"を使わないで、JavaScriptで新しいウィンドウでリンクを開く方法として、 ・<a href="○○.html" onClock="window.open('○○.html','窓の名称','width=○○,height=○○'); return false; ">○○</a> ・<a href="javascript:void(0);" onClock="return open Win('○○.html','窓の名称','width=○○,height=○○')">○○</a> のふたつは同じものなのですか。 異なるのでしたら、どちらを使うべきでしょうか。

  • ヤフーオークションのリンクでカラー指定と下線を消したい

    ヤフーオークションでリンクの下線を取っ払い、カラーも#660000で指定したいのですが上手くできません。 text-decoration:none;および<font color=#660000>はどこに突入すればいいのでしょうか? <a href="http://~" target="_blank" title="自己紹介文">自己紹介文</a>←基本ベース <a href="http://~" style=text-decoration:none; target="_blank" title="自己紹介文"><FONT SIZE=1 COLOR=#660000>自己紹介文</FONT></a>←でくくっても全く効果がありません。 プレビューで再表示されると下線付きデフォルトのリンク色が紫#810081で表示されてしまいます。

  • javascriptでのリンク表示

    サンプル図(http://lancerevolution.tuzikaze.com/sampletest.html) main.htmlと言うページとmenu.htmlと言うページがあります。 main.htmlと言うページには、  ⇒<a href="b.html?url=http://yahoo.co.jp" target="_blank">Yahoo Japanへ!</a>  ⇒<a href="b.html?url=http://www.google.co.jp/" target="_blank">Googleへ!</a>  ⇒<a href="b.html?url=http://jp.msn.com/" target="_blank">msnへ!</a> と言う3つのリンクがあります。 この3つリンクの内どのリンクでもいいのでクリックした時に、サンプル図の(3)の部分に、  ⇒<a href="http://yahoo.co.jp" target="new">Yahoo Japanへ!</a>  ⇒<a href="http://www.google.co.jp/" target="new">Googleへ!</a>  ⇒<a href="http://jp.msn.com/" target="new">msnへ!</a> として出力することはできますでしょうか? つまり、main.htmlにあるリンクをクリックした時に、main.htmlの「b.html?url=」を含んでいる、リンク全てを(3)の部分に出力("b.html?url="の部分を削除、targetを"new"にして出力)できますか?ってことです。 もし、できるようならどのようなjavascriptが必要でしょうか?どうぞ、よろしくお願いします。

  • SED等で文字列を抽出したい

    MacOS X 10.6のターミナルを使って文字列を加工して抽出する方法の質問です。 次のような複数行からなるテキスト(ファイル名を 1.txt とします)があります。 <a href="./hoge/82111.310.12345000.htm" target="_blank"> <a href="./hoge/42403.310.33345025.htm" target="_blank"> <a href="./hoge/22154.310.50873323.htm" target="_blank"> ... このテキスト(1.txt)から、sed(?もっと適切なものがあれば別のものでも)コマンド を用いて 82111.12345000.htm 82401.33345025.htm 82111.50873323.htm ... といった具合に、 hoge/ のあとから始まり htmで終わる文字列から .310を取り除いた文字列を抜き出して ファイル一覧のテキスト(2.txt) に書き出す方法を教えてください。 なお、1.txtの行数は不定で変動し、その行数に応じて2.txtも行数が増えていきます。 また htmのファイル名のところは 5桁のランダムな数字.310.8桁のランダムな数字.htm という規則になっています。(.310 と.htm の部分は固定です) よろしくお願いします。