外部ファイルを読み込む方法について

このQ&Aのポイント
  • 外部ファイルを読み込む方法について様々なサイトを参考にしている中、jQuery.jsを使った方法についてご質問させていただきます。
  • 巡回ロボットはIEでソース表示されるような認識になるのか、あるいは、外部ファイルが読み込まれた状態のソースで認識してくれるのか疑問に感じましたのでご質問させていただきました。
  • なお、参考にさせていただいたサイト内の注意点として上記の方法だと「空div」でひっかかります。と記載がありました。
回答を見る
  • ベストアンサー

外部ファイルを読み込む方法について

外部ファイルを読み込む方法について様々なサイトを参考にしている中、 jQuery.jsを使った方法についてご質問させていただきます。 ファイルは以下のように <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> <!-- $(function(){ $("#header").load("header.html"); }); // --> </script> (HTMLファイル) <div id="header></div> (外部ファイル header.html) <p>外部ファイルのテスト</p> 上記のとおり設定しブラウザで確認(IE及びFirefox)すると IEでは画面上外部ファイルが読み込まれた状態で表示はされているが、 ソースは<div id="header></div>と表示。 一方FirefoxのFirebugで確認すると<div id="header><p>外部ファイルのテスト</p></div> と表示しています。 ここでお聞きしたいのが、巡回ロボットはIEでソース表示されるような認識になるのか・・・ あるいは、外部ファイルが読み込まれた状態のソースで認識してくれるのか・・・ 疑問に感じましたのでご質問させていただきました。 なお、参考にさせていただいたサイト内の注意点として上記の方法だと「空div」でひっかかります。と記載がありました。 なにとぞ、よろしくお願いいたします。

noname#154196
noname#154196
  • HTML
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5068/13243)
回答No.1

ロボットはJavaScriptを実行してくれないのでIEのソース表示と同等の内容で認識します。 FirefoxでもFirebugを使わずにソースを見ると<div id="header></div>になっているはずです。 FirebugはJavaScriptの実行結果を表示してくれています。

noname#154196
質問者

お礼

ロボットにソースを認識してもらえる方法を今一度検討したいと思います。ご回答ありがとうございました。

関連するQ&A

  • jauery ui dialog 読み込んだ外部htmlファイル内での

    jauery ui dialog 読み込んだ外部htmlファイル内でのjqueryの実行 お世話になります。 iwatuturuturu と申します。 jqueryで読み込んだ外部htmlファイル内でのjqueryのセレクターを使用した装飾等ができません。 [index.html]にてjqueryのloadを使用し、同じ階層内の[text.html]のファイルを読み、それをjQuery uiを使用したdialogで表示させています。 読み込まれたdialog内の要素に装飾を行ないたいと考えておりますが、下記のソースにあります[$("p").css("background-color", "red");]が読み込まれたタイミングで、[$("p")]が読み込まれていない為か背景色の変更が行えません。(jqueryを使用し、テーブルの行を一行毎に色付けをしたりしたいのでこのような質問にしました。) loadなどで外部ファイルを読み込んで、読み込まれた要素にjqueryによる装飾や操作を行いたい場合はどのようなやり方があるのでしょうか? 【ソース[index.html]】------------------------ <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link type="text/css" href="../css/common/jquery-ui-1.8.4.custom.css" rel="stylesheet" /> <script type="text/javascript" src="../js/jquery.js"></script> <script type="text/javascript" src="../js/jquery-ui.js"></script> <script type="text/javascript"> $(function(){ $("button").click(function(){ /* dialogを読み込む領域を作成 */ $("body").append("<div id='dialog_window'></div>"); /* loadで外部htmlファイルの読み込み */ $("div#dialog_window").load("text.html"); /* loadで読み込まれたhtmlファイルをdialogとして表示 */ $("div#dialog_window").dialog({ autoOpen: true, width: 1100, }); /* dialog内の装飾 */ $("p").css("background-color", "red"); }); }); </script> </head> <body> <button>ウィンドウopen</button> </div> </body> </html> 【ソース[text.html]】------------------------ <p>読み込み完了</p> ------------------------------------ よろしくお願いいたします。

  • jQuery 読み込んだ外部htmlファイル内での関数の実行ができない

    jQuery 読み込んだ外部htmlファイル内での関数の実行ができない お世話になります。 iwatuturuturu と申します。 jQueryで読み込んだ外部htmlファイル内での関数の実行ができません。 [index.html]にてjQueryのloadを使用し、同じ階層内の[basic.html]のファイルを読み込んでいます。 slideToggleをしようしてアコーディオンをつけたいのですが、外部htmlの[basic.html]のアコーディオンみ動きません。 【ソース[index.html]】------------------------------------------------------------ <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="../js/jquery.js"></script> <script> $(function(){ //外部ファイルの読み込み $("#basic").load("basic.html"); // アコーディオン $('dt').click(function(){ $(this).next().slideToggle('slow'); }); }); </script> </head> <body> <dl class="accordion"> <dt>アコーディオン</dt> <dd>ここの表示非表示が切り替わる</dd> </dl> <div id="basic"></div> </body> </html> 【ソース[basic.html]】------------------------------------------------------------ <div style="border:1px solid #666666"> <p>読み込み込まれるテキスト</p> <dl class="accordion"> <dt>ここをクリック</dt> <dd>ここの表示非表示が切り替わる</dd> </dl> </div> ------------------------------------------------------------------------------------ もともと外部より読み込まれたファイル内のjavasicriptは実行されない仕様なのでしょうか? また、他のやり方で同じ動作を実現する方法などありましたらご教授お願い致します。 よろしくお願いいたします。

  • jQuery.jsを使ったhtml外部読み込み方法

    JavaScript超初心者です。 何卒ご協力の程よろしくお願い致します!! タイトルの通り、jQuery.jsを使ってページのある部分に外部htmlファイルを読み込みたいと考えています。 以下のページを参考にやってみましたが上手くいきません。 http://blog.sugulab.com/?p=14 やってみたのは下記のような作業です。 まず、下記サイトより「jquery-1.9.1.min.js」ファイルをダウンロードし、「js」というフォルダに「jquery.js」として保存しました。 http://jquery.com/download/ 次に参照ページにならってhead要素内に下記のように記述しました。 <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> <!– $(function(){ $("#leftcontent").load("shopmenu.html"); }); // –> </script> body要素内には<div id="leftcontent"></div>と記述しています。 このleftcontentの部分に、同じ階層にある「shopmenu.html」を表示させたいのですが、何も表示されず困っています。 PHP等の知識は一切ない為、これでいけそうなら頑張りたいのですが・・・ ド素人の為、見当違いのご質問でしたらご容赦ください。 どなたかご教示、アドバイスの程よろしくお願い申し上げます!!m(*u_u*)m

  • JavaScriptの外部ファイル読み込み

    JavaScriptの外部ファイル読み込みについてご教授下さい。 現在、Webサイトを作ろうとPHPとJavaScriptをレンタルサーバーにアップしたのですが、 ローカルではPHPから外部ファイルのJavaScriptを読み込めるのに、 サーバーにアップするとPHPからJavaScriptを読み込めなくなってしまいます。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>TEST</title> <meta charset=utf-8" /> <script type="text/javascript" src="./js/jquery-1.4.2.min.js"></script> ・・・ 上記のようにしてもjquery-1.4.2.min.jsが読み込まれず、jQueryが使えません。 FireBugでスクリプトを確認すると以下のようなエラーが出ていました。 1Failed to load source for: http://xxx.my-sv.net/js/jquery-1.4.2.min.js ちなみに以下のようにJavaScriptファイルを開こうとするとブラウザは真っ白なのですが、 http://xxx.my-sv.net/js/jquery-1.4.2.min.js テキストファイルに変更したものだと中身を見ることができました。 http://xxx.my-sv.net/js/jquery-1.4.2.min.txt ブラウザはFireFox3.0.11とIE8.0の両方でダメでした。 なぜJavaScriptファイルだけ読み込めないのでしょうか。 ご教授お願いいたします。 ※ちなみに、別のレンタルサーバーにアップロードしたら問題なく読み込めました。 しかし、そこにはDBがなかったので、なるべく今のレンタルサーバーを使いたいのです。。

  • Jqueryの$.getで目当ての外部ファイルを読

    jqueryの$.getで目当ての外部ファイルを読み込む方法でつまづいてしまいました。 searchファイル (resultsファイルを非同期通信で読み込むはずなのですが、読み込んでくれません。) <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript"> function getContents(){ //http://localhost/hoge/results/color_id:をブラウザ上で開くとファイルが返ってきます var http = $.get("http://localhost/hoge/results/color_id:",null, function(data) {$("#main").html(data);}); } </script> //読み込んだデータが表示される箇所なんですが・・・ <div id="main"></div> http://anond.hatelabo.jp/20101206224349 このサイトに書かれているとおりに外部のHTMLを読み込む事むJqueryを書いたのですが、全く反応してくれません。 何か間違っているのでしょうか?

  • jqueryを使った共通html埋め込みができない

    各ページに共通なヘッダ部分を、jqueryを使って読み込みたいと以下のコードを書いたのですが、なぜか読み込まれません。 test.htmlとheader.htmlは同階層(トップレベル)にあって、jsディレクトリにjquery-1.7.1.min.jsを置いています。 どうか知恵をお貸しください。 よろしくお願いします。 test.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script> <script type="text/javascript"> <!–- $(function(){ $("#header").load("header.html"); }); // -–> </script> <title>test</title> </head> <body> <div id="header"></div> main </body> </html> header.html <div id="header">header</div>

  • jqueryにて

    こちらではお初にお世話になります。 よろしくおねがいします! さて、jqueryを用いてScrollFollowを実装中なのですが、 正常に動作させることが出来ません。 ソースは <script type="text/javascript" src="./jslib/ui.core.js"></script> <script type="text/javascript" src="./jslib/jquery-1.2.6.js"></script> <script type="text/javascript" src="./jslib/jquery.scrollfollow.js"></script> <script type="text/javascript" src="./jslib/jquery.easing.1.3.js"></script> <script type="text/javascript" src="./jslib/jquery.cookie.js"></script> <script type="text/javascript"> $( document ).ready( function (){ $('test').scrollFollow({ }); }); </script> をヘッド部分に、 <div id="test"> コンテンツ </div> をBODYに記述しています。 動作せずにFirefoxのエラーコンソールで確認したところ エラー: jQuery is not defined ソースファイル: (省略)update/jslib/ui.core.js 行: 238 エラー: $("test").scrollFollow is not a function ソースファイル: http://contest2009.thinkquest.jp/tqj2009/110392/update/ 行: 13 と表示されました。jsファイルの生存は確認できており、 その系統のミスではないと思うのですが。。。 どなたかアドバイスをお願いします!

  • jQuery.jsを使ったhtml外部読み込み

    教えてください。 現在Jqueryを使用して外部htmlを読み込ませようとしていますが、 うまくいきません・・・ ■本体html <head> <script src="js/jquery-1.8.3.min.js"></script> </head> <body> <script type="text/javascript" src="sample.js"></scrip> <div id="sample"></div> </body> ■sample.js // JavaScript Document $(function(){ $("#sample").load("sample.html"); }); ■読み込ませるsample.html 特に設定なし このような感じですが、全然読み込めません。。。 javascriptを外部リンクにしているのは、読み込むhtmlが複数ある為、 headの見栄えが悪くなるからという個人的な意見です・・・ 済みませんがお知恵をお貸しください!!

  • javascriptファイルは1つに統合できますか

    javascript初心者のため、どなたかご教示いただけるとありがたいです。 html内に外部javascriptファイルを読み込むようにscript要素で記述しているのですが、複数の外部jsを読み込んでおり、可能であればhtml内の記述を簡略化したいと思っております。 <現状> <script type="text/javascript" src="・・・/js/jquery.js" charset="utf-8"></script> <script type="text/javascript" src="・・・/js/jquery.page-scroller.js" charset="utf-8"></script> <script type="text/javascript" src="・・/js/jquery.cookie.js"></script> <script type="text/javascript" src="・・・/js/ui.core.js"></script> <script type="text/javascript" src="・・・/js/jquery.easing.1.3.js"></script> <script type="text/javascript" src="・・・/js/jquery.scrollfollow.js"></script> <script type="text/javascript" src="・・・/js/jquery.bxslider.js"></script> <script type="text/javascript" src="・・・/js/set_slider.js"></script> ・・・ jsに対する基礎的な質問ですが、上記のような複数の外部jsファイルを、1つの外部jsファイルにまとめることは可能なのでしょうか? (単純に1箇所にコピー&ペーストするようなイメージで) お手数ですが、ご教示のほど、宜しくお願い致します。

  • Javascript外部ファイルの読み込みについて(ブラウザにキャッシュさせたい)

    現在、製作中のサイトにおいて、webページが表示されるまで、5秒~15秒程度かかる事態が発生しています。 該当サイトでは、prototype.js等のjavascriptのライブラリを使用しており、合計で5個のjsファイルを読み込んでいます。 jsファイルの読み込み箇所を削除するとサクサクと快適になるので、jsファイルの読み込みに問題があると考え、jsファイルを圧縮したり(http://dean.edwards.name/packer/等)、ブラウザにキャッシュさせるために<script src=""での読み込み時に引数「?version=1」を追加してみたりしていますが、あまり改善しません。 読み込みの数を減らすため、prototype.jsとjquery.jsを統合するなども試してみました。(統合後のサイズは116KB) 利用環境によってはそれほど気にならない速度なのですが、IE6の環境でかなり重い場合がありますので、改善方法を探しています。 一回目の表示はともかく、2回目以降も毎回トップページ表示に5秒以上かかるのは問題がありますので…。 現時点で原因は、外部jsファイルがキャッシュされず毎回サーバーに読みにいっているために遅くなっていると思うのですが…。 ブラウザに外部ファイルをキャッシュさせる方法は何かないのでしょうか? ちなみに、重くなる環境で、他のサイト(外部JSファイル読み込み多数)のサイトを表示しても、2回目以降は重くなりません。ブラウザのキャッシュの削除も一度試しています。 参考に、現在のスクリプト呼び出し部分を記述します。 ---------------------ソースここから--------------------------- <script type='text/javascript' src='js/prototype-1602-and_jquery.js?version=1'></script> <script type='text/javascript' src='js/js.js?version=1'></script> <script type="text/javascript" src="js/lib/jquery_auto_j.js?version=1"></script> <script type='text/javascript' src='js/scriptaculous-js-181/src/scriptaculous.js?load=effects'></script> <script type='text/javascript' src='js/lightview.js?version=1'></script> ---------------------ソースここまで--------------------------- また、スクリプトはPHPで作っていますので、キャッシュを許可する記述を以下のようにしています。 ---------------------ソースここから--------------------------- session_cache_limiter('private_no_expire'); session_start(); ---------------------ソースここまで--------------------------- また、現状ではjsファイルの読み込みが原因かと考えていますが、それ以外でも改善点などがあれば、それをご指摘頂ければありがたいです。 宜しくお願い致します。 確認環境:windows XP、 IE6 HP作成スクリプト:PHP

専門家に質問してみよう