テキストファイルに保存されているhtmlコードの断片をページコードに組み込む簡単な方法がありますか(または最も簡単な方法がありますか)?テキストファイルのコード断片をhtmlに含めるにはどうすればいいですか?
など。テキストファイルfragment.txtには以下が含まれています。
<b><i>External text</i></b>
ページコードには、このフラグメントを「オンザフライ」で含める必要があります。 (PHPなし...?)
テキストファイルに保存されているhtmlコードの断片をページコードに組み込む簡単な方法がありますか(または最も簡単な方法がありますか)?テキストファイルのコード断片をhtmlに含めるにはどうすればいいですか?
など。テキストファイルfragment.txtには以下が含まれています。
<b><i>External text</i></b>
ページコードには、このフラグメントを「オンザフライ」で含める必要があります。 (PHPなし...?)
JavaScriptのアプローチが好ましいと思われます。しかし、以下の例では、原点通過要求(ローカルホストからインターネットへ、またはその逆)で問題が発生する可能性があります。また、HTTPS経由では提供されない外部スクリプトを含めると、セキュリティ上の問題が発生する可能性があります。
任意の外部ライブラリなしのインラインソリューションは、次のようになります。ここでは
<!DOCTYPE html>
<html>
<body>
<div id="textcontent"></div>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
document.getElementById('textcontent').innerText = xhttp.responseText;
};
xhttp.open("GET", "content.txt", true);
xhttp.send();
</script>
</body>
</html>
あなたはHTMLファイルと同じフォルダにファイルcontent.txt
を必要としています。テキストファイルはAJAX経由でロードされ、IDはtextcontent
のdivに格納されます。エラーハンドリングは上記の例には含まれていません。 http://www.w3schools.com/xml/xml_http.aspにあるXMLHttpRequestの詳細。
EDIT:別の答えで述べたVKKよう
、あなたはそれをテストするために、サーバー上のファイルを配置する必要があり、そうでなければ、XMLHttpRequest cannot load file:///D:/content.txt. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
hilderonny:Hm ... test.htmとcontent.txt(自分のOPの行だけを含む)のコードは、両方ともサーバー上の同じディレクトリにあります。結果は空白のページです。 (そのような単純な欲求と会うことはとても難しい!;-)私は思う、私はあきらめるべきだ! ...) – newbieforever
@newbieforeverどのブラウザをお使いですか?タイプミスなどがないように、hilderonnyのコードと私のコードの両方をテストし、両方とも動作します。 – VKK
VKK:hilderonnyのコードをtest.htmに正確にコピーしました。私のOPからcontent.txtにhtmlコード行を保存しました。両方のファイルはサーバー上にあります(一時的に:http://bez.one/test。 htm;同じディレクトリ内のcontent.txt)。私のお気に入りのブラウザ(K-meleon)は何も表示しません。 PS:今度は、IEとEdgeがcontent.txtの内容をそのまま表示していることがわかります。これは、 '外部テキスト'です。つまり、htmlスニペットとして解釈されません。 – newbieforever
JavaScriptで。私はそれを使用します。 例:
<!DOCTYPE html>
<html>
<script src="http://www.w3schools.com/lib/w3data.js"></script>
<body>
<div w3-include-html="content.html"></div>
<script>
w3IncludeHTML();
</script>
</body>
</html>
marko_b123:これは問題ありませんが、あなたのコードはうまくいかないようです...私はテストを続行します... – newbieforever
ここに実例があります:http://www.w3schools.com/howto/howto_html_include.asp –
あなたは(おそらく私は避けるだろうインラインフレームをか)これを行うにはJavascriptを使用する必要があります。 JQueryフレームワークの使用をお勧めします。非常に単純なDOMメソッド(ロード)を提供し、別のファイルの内容をHTML要素にロードすることができます。これは本当にAJAX呼び出しを対象としていますが、ユースケースでも同様に動作します。 fragment.txtは、htmlページと同じサーバーディレクトリに存在する必要があります(別のディレクトリにある場合は、パスに追加してください)。
DOM(ページの表現)がロードされた後にコンテンツ要素にのみアクセス/編集できるため、ロードメソッドは$(document).ready
イベントハンドラにラップされています。
ほとんどのブラウザは、ローカルAJAX呼び出しをサポートしていません(ロードメソッドはAJAXを使用します)。通常、HTMLファイルとtxtファイルがサーバーにアップロードされ、htmlファイルがクライアントにアクセスされます。 FirefoxはローカルAJAXをサポートしていますので、Firefoxをローカルでテストしたい場合は、Firefoxを使用してください。
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-2.2.4.js"></script>
<script>
$(document).ready(function() {
$("#contents").load("fragment.txt");
});
</script>
</head>
<body>
<div id="contents"></div>
</body>
</html>
VKK:あなたのコード同じディレクトリにあるtest.htmlとmy fragment.txt(どちらもローカルのコンピュータ上で、このテスト段階で)は動作しますか?現時点では...まだテストしていません... – newbieforever
私のコードと答えが更新されました。これをサーバーとローカルのFirefoxでテストしたので、うまくいきます。 – VKK
HTTPのようなクロスオリジンのエラーを取得:// stackoverflowのを.com/questions/6470567/jquery-load-txt-file-and-insert-div PS phpでもっと簡単です... – sinisake
このifure'は 'iframe'です。' iframe src = "fragment.txt" width = "20%" height = "10%" align = "left">'です。私はそれが "いいえ、飛行"を動作させることができるか分からない。 – Banzay