• 締切済み

HTMLで外部ファイルの読み込み

HTMLの表が存在するときに、その表の中に入る文字列を 別のファイル(テキストやHTML)で外部から読み込んで表示する方法について教えてください。まったくの素人です。。。 <html> <table border="1"> <tr> <th>A</th><th>B</th><th>C</th><th>D</th><th>E</th> </tr> </thead> ーーーーーーこの中が外部ファイルの記述ーーーーーーー <tr> <td>AAAAAAA</td> <td>BBBBBBB</td> <td>CCCCCCC</td> <td>DDDDDDD</td> <td>EEEEEEE</td> </tr> <tr> <td>A'A'A'A'A'</td> <td>B'B'B'B'B'</td> <td>C'C'C'C'C'</td> <td>D'D'D'D'D'</td> <td>E'E'E'E'E'</td> </tr> ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー </table> </body> </html>

みんなの回答

回答No.6

簡単な方法考えて作ってみました IE以外は試してませんが うちのサイトにアップしたので見てください。 外部ファイル等はインタネット一時ファイルで残りますので 取りだしてください。 data.jsと java.exeと index.htmlを一つのフォルダ入れて PC上で動かせば動きが解ると思います、お試しください。 うちのURL・・http://www.gem.hi-ho.ne.jp/sess/tst0001/

すると、全ての回答が全文表示されます。
noname#84373
noname#84373
回答No.5

なんとなく表を作るのを簡単にするには? みたいな事を考えていると勝手に判断した上で。 Javascriptを利用するとあるていど簡単にすることができます データの区切りは、半角空白。data[]の中に文字列を''で挟んで , をつけていけば、いくらでも追加できます 以下参照 <html> <body> 表をJavascriptで書き出します<br> <script> var data=[ 'a b c d e', 'あ い う え お', 'か き く け こ', 'さ し す せ そ' ],h='<table border="1">'; for(var i=0;i<data.length; i++)h+=i?'<tr><td>'+data[i].replace(/ /g,'</td><td>')+'</td></tr>':'<tr><th>'+data[i].replace(/ /g,'</th><th>')+'</th></tr>';document.write(h+'</table>'); </script> 小さい表なら一瞬で表示!

すると、全ての回答が全文表示されます。
noname#84373
noname#84373
回答No.4

Ajaxを利用するってのは? ローカルでは動きません。ちゃんとサーバーにアップしてね ラブラリーとは使ったほうが楽チン!だけど。 文字コードはutf-8にしてね <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <div id="a"></div> <script type="text/javascript"> window.onload=function(){ httpObj = createXMLHttpRequest(displayData); if (httpObj) { httpObj.open('GET','data.txt',true);//ここにファイル名 httpObj.send(null); } } function displayData(){ if ( httpObj.readyState == 4 ){ var h='<table border="1">'; switch( httpObj.status ){ case 200: var dt = httpObj.responseText.split('\n'); for(var i=0; i< dt.length ; i++){ h+='<tr>'; var bf=dt[i].split('\t'); for(var j=0;j<bf.length;j++) h+=i?'<td>'+bf[j]+'</td>':'<th>'+bf[j]+'</th>'; h+='</tr>'; } h+='</table>'; break; case 403: H = 'アクセスが拒否されました'; break; case 404: H = 'ファイルがありません'; break; } document.getElementById('a').innerHTML=h; } } function createXMLHttpRequest(cbFunc) { var XMLhttpObject = null; try{ XMLhttpObject = new XMLHttpRequest();} catch(e){ try{ XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");} catch(e){ try{ XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");} catch(e){ return null;} } } if (XMLhttpObject) XMLhttpObject.onreadystatechange = cbFunc; return XMLhttpObject; } </script> <div id="tab"></tb> </body> </html> ------- data.txt 区切りは tabで 最初の1行がTH扱い a b c d e あ い う え お か き く け こ さ し す せ そ

すると、全ての回答が全文表示されます。
  • ryupyon
  • ベストアンサー率17% (29/163)
回答No.3

JavaScriptやPHPなどでカバーする事はダメなんでしょうか? JavaScriptなら読み込むだけなら初心者でも簡単にできますよ^^

nonono11
質問者

補足

環境見直した際にPHPでの方法が一番効率的ということまではわかりました。ですがまったくPHPについても理解が追いついいていません・・・ 外部ファイルとしてどのように記述をどこにするのか、なにを準備するのかなどもしよければアドバイスください。

すると、全ての回答が全文表示されます。
  • snowize
  • ベストアンサー率27% (68/245)
回答No.2

No.1の方が興味深い記事を張っていますが……。 基本的にできません。外部スタイルシートや外部スクリプトなどの特殊なファイルを除いてファイルを読み込んで表示する機能はありません(まあ画像とかは無視して考えてます)。 あえて言うならばフレーム・インラインフレームなどがそうかもしれませんが、どちらかというと「今後廃止されていく技術」なので過度な依存は禁物です。別な質問も拝見させていただきましたが、HTMLはあなたが思っているよりずっとずっと機能性の低いものなんですよ。 しかしまあ、どうしてもと言うのならばSSIを使ってファイルを読み込むか、PHPでサイトを構築するかなどといった、他の技術に依存すればできないこともありません。ですが当然「他の技術を習得する労力」は覚悟しておいてください。

すると、全ての回答が全文表示されます。
noname#100277
noname#100277
回答No.1

HTMLレベルではiframeやjavascriptでの方法以外無いのでは? CGIなら可能でしょうが。 と思ったが以下のこんな記事が・・・ http://hyper-text.org/archives/2006/11/object_element.shtml objectで可能だと云う事らしい。 試した事は無いが。

すると、全ての回答が全文表示されます。

関連するQ&A