dポイントがお得になるネット回線は?

ツールとなるファイルがあり、
そこから同一のサーバー内の他階層からHTMLソースを取得しようとしています。

▼階層イメージ
hoge/tool/tool.html //ツール
hoge/a/index.html //対象のファイルA

そして、色々ためしてajaxで対象のソースを取得し
ツール内にあるtextareaに書き出しするところまではできたのですが、

そもそも取得時点でインクルードの中身まで取得してしまっているので、なんとかインクルードの中身は取得せずにtextareaに書き出したいです。


↓これを展開させずにこのまま取得・表示したいです
<!--#include virtual="/include/hogehoe.html" -->


そこで、
そもそも「インクルードの中身は取得せずに対象ファイルの素のソースを引っ張ってくることは可能か不可能か」ということをお聞きしたいです。
使用言語は問いません。

①可能かどうか
②可能な場合どのようなやり方で実装できるのか(「そういったことができるツールとかプラグインあるよ」的なことでも大丈夫です)
③不可能な場合は代替案など(これはもしあれば程度でよいです…)


以上ご教示いただければ幸いです。

質問者からの補足コメント

  • 補足します。
    hoge/a/index.htmlの中には
    <!--#include virtual="/include/hogehoeg.html" -->というソースがあります。

      補足日時:2019/02/25 16:50
  • 【理想】取得したいのはhoge/a/index.htmlの中身そのままのHTML

    実際に取得されてしまうのはhoge/a/index.htmlとhogehoeg.htmlが合体したもの

    ↓インクルードが読み込まれた状態のこれが取得されてしまう
    <!DOCTYPE html>
    <html lang="">
    <head>
    <title>なにかしらのページ</title>
    </head>
    <body>
    <h1>AAAA</h1>
    <p>BBBBBB</p>
    </body>
    </html>

    No.1の回答に寄せられた補足コメントです。 補足日時:2019/02/25 16:52
  • ↓最終的な理想の取得状態
    <!DOCTYPE html>
    <html lang="">
    <head>
    <title>ツール</title>
    </head>
    <body>
    <textarea>
    <!DOCTYPE html>
    <html lang="">
    <head>
    <title>なにかしらのページ</title>
    </head>
    <body>
    <!--#include virtual="/include/hogehoeg.html" -->
    </body>
    </html>
    </textarea>
    <script>//HTMLを取得してくるスクリプト</script>
    </body>
    </html>

      補足日時:2019/02/25 16:54
  • ajaxは以下のようになっています。

    var filepass = "hoge/a/index.html"; //取得したいファイルパス
    $.ajax({
    url: filepass,
    type: 'GET',
    dataType: 'html',
    success: function (data) {
    $('textarea').text(data); //テキストエリアにコードを書き出し
    },
    error: function (data) {
    //取得できなかった時の処理
    }
    });

    ちなみに、なぜajaxを使用したかというの私がサーバーサイド言語に疎く、
    クライアントサイドの言語しか扱ったことがなかったためそれで再現しようとしました。

    しかしながらクライアントサイド言語のみではやはり限界ではないかと考え、
    今回言語問わず質問させていただきました。

    No.2の回答に寄せられた補足コメントです。 補足日時:2019/02/25 17:28

A 回答 (3件)

そのコードならインクルードされた状態で取得されて当然。

httpでGETしてるんだから。
クライアント側でサーバのファイルを取得する手段がhttp以外に無いのなら無理でしょう。
サーバ側でperlなりphpなりshなりで対応してください。
取得部分なんてほんの数行で書けるはずですよ。
    • good
    • 0

はぁ、表示のときにインクルードされるのではなく取得のときにですか。

。。
取得をどのように行っているのか(httpプロトコル使ってる?)によりますが、perlでもphpでもshでも普通に「ファイルの読み込み(ファイルオープン)」すればいいのではないですかね?
例えばshスクリプトでwgetすればインクルードされるのかもしれないけど(やったことないですが)、単にcatするだけならインクルードされませんよね?
fopenとかreadfileとか。

取得部分のajaxソースってどうなってるのでしょう。
この回答への補足あり
    • good
    • 0

まだちょっと質問が理解しきれない気がするけど、


・hoge/a/index.html の中に<!--#include virtual="/include/hogehoe.html" -->というソースがあって、
・hoge/tool/tool.html で hoge/a/index.html を取得したときに /include/hogehoe.html までインクルードされた状態でtextareaに表示されてしまうのをなんとかしたい
ってことで合ってます?

だとすれば、
表示するときに<pre>タグを使うとか、特殊文字をエスケープすればいいのではないですかね?
そんなに珍しい作業でもないと思うけど。
この回答への補足あり
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

認識としてはその通りです。
「hoge/a/index.htmlの中に<!--#include virtual="/include/hogehoe.html" -->というソースがある」という点について後程補足に追記します。

質問についてのご認識の通りです。

しかしながら、
・表示するときに<pre>タグを使う
・特殊文字をエスケープする

上記対策以前の問題で、「取得」した時点でインクルード内のソースまで取得してしまっているため
preタグを使おうがエスケープしようが表示はインクルード先のhogehoe.htmlの中身も一緒に表示されてしまうのです。

================

▼tool.htmlの中身
<!DOCTYPE html>
<html lang="">
<head>
<title>ツール</title>
</head>
<body>
<textarea></textarea>
<script>//HTMLを取得してくるスクリプト</script>
</body>
</html>

▼hoge/a/index.htmlの中身
<!DOCTYPE html>
<html lang="">
<head>
<title>なにかしらのページ</title>
</head>
<body>
<!--#include virtual="/include/hogehoeg.html" -->
</body>
</html>

▼hogehoeg.htmlの中身
<h1>AAAA</h1>
<p>BBBBBB</p>
...


================

お礼日時:2019/02/25 16:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QHTMLについての質問です。

今ホームページを自作しています。

HTMLでidやclass属性を使ってローカルフォルダ内のトップページから同じフォルダ内にある
別のページの特定の部分へ飛ぶように組み込もうと思っていて
ある本では<a href="htmlファイルのパス#+id属性値">と書いてありました。
もしclass属性を用いる場合も記述の仕方は変わらないのでしょうか?

上の質問とは関係ありませんが
cssの方でid属性を指定する場合は#〇〇,class属性を指定する場合はh2.〇〇みたいに書く
というのを少し前に知ったのでこんがらがってしまっています。

アドバイス宜しくお願い致します。

Aベストアンサー

classはユニークな属性ではないので、class指定をしてリンク先にすることはできません
飛び先に指定したいなら個別にユニークなidを振って下さい

Qあるタグが反応しません...

mi:first-letter {
font-size: 2em;
color: #7172ac;
}

あるサイトで見つけて使おうと思ったのですがこれが反応しません...どうすれば...

Aベストアンサー

mi とは何でしょうか?
div.mi か div#mi の間違いである可能性はないですか?

疑似要素 ::first-letter については以下を参照
https://developer.mozilla.org/ja/docs/Web/CSS/::first-letter

Qhtml 文字化け

html と php で現在勉強していますが
画像のように文字化けしてしまいます。

何が原因なのでしょうか?
教えていただけると助かります。

Aベストアンサー

HTMLの文字コードをUTF-16にしても変わりませんか?

QCSSで「!important;」よりも優先にすることはできないですか?

CSSで「!important;」よりも優先にすることはできないですか?

Aベストアンサー

div.article-body-outer div.article-body img.classname {
height: 240px !important;
margin: 10px !important;
}

Qホームページを無料で作成したいのですが、どのサイトがおすすめでしょうか? Ameba Ownd(アメ

ホームページを無料で作成したいのですが、どのサイトがおすすめでしょうか?


Ameba Ownd(アメーバオウンド)
Jimdo(ジンドゥ)
WIX(ウィックス)
BiNDup
FC2ホームページ
忍者ホームページ
CLOUD LINE
Crayon(クレヨン)
Zoho Sites
Weebly
Striking.ly
Webnode(ウェブノード)

あと、この上記のようなサイトでホームページを作成して〇〇市〇〇教室と検索してヒットする事は可能でしょうか?

あと、もし出来ない場合は、どうやったら〇〇市〇〇教室と検索してヒットさせる事が出来ますでしょうか?

教えて下さい。宜しくお願い致します。

Aベストアンサー

>〇〇市〇〇教室と検索してヒットする事は可能でしょうか?

不可能では無いと思いますが、ライバルが多い場合は表示ページがすっごい後ろとかになります。

無料スペースでサイトを制作するのはいいのですが、やはり独自ドメインがある方が検索には強いです。
無料だと独自ドメインは付けられない事がほとんどです。
無料スペースも独自ドメインプランにするとそこそこ高額のサービスになる事が多いです

私個人的なおすすめとしては、ムームードメインでドメインを取得(年間維持1,000円前後)
サイトはグーペで制作 https://goope.jp/ (年間維持12,000円)初心者にも作りやすいと思います。
ビジネスでサイトを持つのであれば最低限この組み合わせが安くて維持しやすいと思います。ご参考まで。

QHTMLのdataについてです。 data-〇〇="△△"として、△△に名前を付ける時のルールはあり

HTMLのdataについてです。

data-〇〇="△△"として、△△に名前を付ける時のルールはありますか?
映画紹介サイトを作ろうと考えていて、△△の部分に映画の名前をそのまま記入しようと考えています。

例)data-title="I Am Legend"、data-title="ハンサム★スーツ" ←このように記入できますか?

空白・記号・環境依存文字・日本語を△△の部分に入れる事ができるのか知りたいです。

検索欄を設置し、そこに入力した映画名からその要素を検索できるようにしようと考えています。

Aベストアンサー

ほとんど気にする必要はありませんが
気になるようならエンティティ化しておくことです

<script>
window.addEventListener('DOMContentLoaded', function(e){
document.querySelector('#btn').addEventListener('click',function(e){
console.log(decodeURIComponent(e.target.dataset["test"]));
});
});

</script>
<input type="button" data-test="%E3%88%B1%E3%81%82%E3%81%84%E3%81%86" value="go" id="btn">

Qjavascript の配列操作に関して

先頭の要素を追加したり削除するのは、shiftやunshiftで対義語になっているので納得したのですが、末尾の操作に関して、popとpushなのは何故ですか?

それだったらpullとpushのが良かったのではないですか?
成り立ちについて詳しい方がいましたら、教えてください。こういうの気にするタイプなのです

Aベストアンサー

だいたいこの辺かなと

http://blog.codic.jp/2015/02/10/data-structure-and-naming/

pop/pushはスタックするときの用語
shift/unshiftはビット処理の用語
から流用したからだと

Qとあるサイトの作成日を知りたくて、こんなサイトを見つけたのですが、やり方が全くわかりません。 わかる

とあるサイトの作成日を知りたくて、こんなサイトを見つけたのですが、やり方が全くわかりません。

わかる方、わかりやすく教えてください。


http://upa-pc.blogspot.com/2015/04/web-page-publish-update-date-time.html?m=1

Aベストアンサー

> 良かったら代わりに作成日を調べて頂けませんか?

・JavaScript による取得方法(最終更新日時)
12/20/2018 20:55:33

・HTTP のレスポンスヘッダー(最終更新日時)
「subaru/」のHeaderを見ると、
last-modified: Thu, 20 Dec 2018 11:55:33 GMT

・本文に張り付けられている画像の、HTTP のレスポンスヘッダー(最終更新日時)
どの画像がページの作成と一緒にアップロードされたものなのか、サイトの更新経緯とか見てないので、ちょっと分かりません。

・Webページのソースコードを読む(公開日時/更新日時)
右クリック禁止されててるし、これはメンドクサイ

・検索エンジンの検索結果(最終更新日時)
Googleのオプションだと、1年以内に更新、1か月以内に更新とかしか選べない。
更新日も特に表示されない。そういえば、昔は出てたような。
動的作成されるサイトが増えて、ホントの更新日って分からなくなってきたので削られたとか?

・SNS の最古の拡散メッセージの日時(公開日時)
手元のPCはTwitter やFacebookは使ってない。
自分のアカウントであんまり興味ない人の検索履歴が残るのもヤだし。

・ソーシャルブックマークサービスの最古のブックマーク日時(公開日時)
はてなブックマークだと、
2014/12/04 22:45

・そのページへリンクを貼っているページの、公開・更新日時(公開日時/更新日時)
それらしい古そうなページ、リンクが見当たらない。

・インターネットのアーカイブサービス(公開日時/更新日時)
InternetArchive、WayBackMachineによると、
DECEMBER 2, 2014
05:56:40
ドメイン、アドレスはあるけど中身が無い/保存されていないような?

・撮影情報などが含まれた画像ファイル、またはそのファイルをリンクする Web ページ(公開日時/更新日時)
右クリックできないのでメンドクサイ。

・使われている言葉などから推測する(公開日時/更新日時)
一番下に2015年の映画の話がある。

・URLに含まれる文字列(公開日時)
個別の記事は見てないけど、こちらは含まれていなさそう。

> 良かったら代わりに作成日を調べて頂けませんか?

・JavaScript による取得方法(最終更新日時)
12/20/2018 20:55:33

・HTTP のレスポンスヘッダー(最終更新日時)
「subaru/」のHeaderを見ると、
last-modified: Thu, 20 Dec 2018 11:55:33 GMT

・本文に張り付けられている画像の、HTTP のレスポンスヘッダー(最終更新日時)
どの画像がページの作成と一緒にアップロードされたものなのか、サイトの更新経緯とか見てないので、ちょっと分かりません。

・Webページのソースコードを読む(公開日時/更新日...続きを読む

Q画像を形そのままで横に並べたい

画像を形そのままで並べたくてcolumn-countを使っているのですが、左の図のように並びます
右の図のように並べる方法はありますか?

Aベストアンサー

.sample01 li{
list-style:none;
display:inline-block;
width:23%;
text-align:center; /* これ追加 */
}

Q自分専用のバーコードを作成するには?

スマホのバーコードで、自分のホームページが閲覧できるようにしたいのですが?
どうしたらバーコードの作成できますか?
よろしくお願いします。

Aベストアンサー

QRコード作成アプリやサイトで自分のホームページのURLを作成できます


人気Q&Aランキング

おすすめ情報