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>
回答ありがとうございます。
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>
No.4
- 回答日時:
下の例では
<A name タグを全行に挿入しましたが、
これは、サブウィンドウを閉じずにいろんなところを
指定できるように作りました。
別行を見る時にサブウィンドウを開きなおすのなら
親ウィンドウから指定行を取得して
一つだけ<A name タグを挿入したほうが
表示スピードが上がるかも。
別解1
ビヘイビアを使用しない方法として
IFRAMEタグ
+
createTextRange()メソッドを使っても変数に取り込めます。
IE5以上限定ですが。
No.1
- 回答日時:
テキストへは不可能です。
また、JavaScript でも、リンク (リクエスト) が完了した時点で、フォーカスや制御がそのテキストファイルに移ってしまうのでスクロールすることも不可能です。
リンク先が HTML 等である場合は <a name="123"></a> で <a href="hogehoge.html#123">123行目</a>のようにしてやる事が可能ですが、そもそもテキストファイルはブラウザで開くものではない (開けるのはオマケみたいなもん) ので、ブラウザによってはダウンロードダイアログが表示されます。
なので、テキストファイル相手に行番号指定ってのは、諦めてください。
この回答への補足
回答ありがとうございます。
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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/16 14:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/02/05 09:55
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- HTML・CSS HTMLについて教えて頂きたいです。. 4 2022/12/21 16:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlから<a>でpdf表示時にpdf資...
-
一つのリンクで、複数のウィン...
-
一つのリンクに複数のURLを指定
-
ハイパーリンクをクリックして...
-
window.confirmのタイトル
-
画像をぴったりウィンドウ内に...
-
現在開いているWEBページを...
-
、URL化させるにはどうしたらい...
-
Excelで、社外秘(閲覧のみ)と...
-
HTMLからフォルダを開きたい
-
Dreamweaverでページ全体が文字...
-
form action="#"
-
htmlファイルの表示が真っ白
-
Webサイトから、txtファイルを...
-
折りたたみ可能なフリーのHTML...
-
java_run.batがダウンロードで...
-
HTMLで別PCのフォルダを開く
-
css ,videotタグ。ホームページ...
-
iPadの標準ブラウザでローカルH...
-
.htmと.htmlの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一つのリンクに複数のURLを指定
-
window.confirmのタイトル
-
ブラウザの右上にあるボタンを...
-
リンク先を2つ表示させる
-
ページ切り替え時に音を鳴らし...
-
htmlから<a>でpdf表示時にpdf資...
-
リンク先のURLが毎日変わる場合...
-
HTMLで条件によって表示・非表示
-
行番号を指定したリンク
-
テキストアンカーリンクで複数U...
-
objectタグで埋め込んだHTMLの...
-
一つのリンクで、複数のウィン...
-
リロードさせるたびに画像を変...
-
タイトルバーを非表示にできま...
-
別ページを縮小表示
-
ひとつのhtmlでjavascriptとvbs...
-
jQueryプラグイン、サーバー上...
-
現在開いているWEBページを...
-
最新更新日をページに表示させ...
-
リンク先のテキストボックスへ...
おすすめ情報