• ベストアンサー

ブログパーツのjquery利用について

ブログパーツでjqueryを使用してhtmlなどを出力したいのですが、 思い通りの動作ができません。 jsファイルの中身 ------------------------------------------------------------ document.write("<script type='text/javascript' src='http://hoge.com/jquery.js'></script>"); document.write('<link rel="stylesheet" type="text/css" href="http://hoge.com/hoge.css">'); $(function() { $("div").html("<p>aaaaaaaaa</p>"); }); document.write('<div></div>'); ------------------------------------------------------------ これじゃあ、ほかのサイトからjsを読み込んでも 出力されないのでしょうか? (<script src="http://hoge.com/hoge.js"></script>) document.write("<div>aaa</div>");だけであれば、 ちゃんと出力されるのでjqueryの記述がおかしいのだと思います。 ご教授お願いいたします。

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

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.2

 申し訳ない。さっきの回答は技術者向けの話で、もっと簡潔に説明すべきだった。 > 要はjquery.jsが効いていないってことですよね。  そう。 > 上記のようなことをする場合は、 > 不可能ということなんでしょうか。 > それともほかに方法があるのでしょうか。  あれこれ考えてみたんだけど、ほぼ不可能な気がする。なぜならこれが出来たらほぼどんな悪事(裏でこっそり何かをダウンロードさせる)もできる事になるからね。何か裏技を使えばできるのかも知れないけど、あきらめて素直に全HTMLにjquery.jsを書くしかないんじゃないのかな。  質問者の環境でサーバーサイドで走らせられる何か(CGI、PHP、ASP、ASP.NET、JSPなど)があるのであれば、そちらを使えば似たような事は実現できる。

trfnc223
質問者

お礼

ご回答ありがとうございました。 いろいろとお考えいただいて感謝です。 なんかできそうでできないもんなんですね。。。 根本が理解できていなかったようです。 ありがとうございました。

その他の回答 (2)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

実際のところは、あなたのブログサイト(ご自身で運営してるなら話は別) の環境というか、仕組みが解らないと、答えられませんが、ブログサイトは 裏で、(CGI、PHP、ASP、ASP.NET、JSPなど)がちゃんと動いていて、 ユーザーが投稿したHTML(含むCSS/JAVASCRIPT)をちゃんと組み込んだ上で、 出力している場合がままあります。 (そのまま埋め込めたり、別のところに書くように指示されてたり..) この場合も、jQueryは生きているかもしれませんよ。 ただ、 $(function() { $("div").html("<p>aaaaaaaaa</p>"); }); は変でしょ。ページのロードが完了した時、<div>要素の中身を全部 <p>aaaaaaaaa</p>にするという事ですよ。その時点で、 document.write('<div></div>');は、まだ実行されてないんじゃない ですか。全体のどこに書いたかにもよりますが...。 $(function() { alert("JQUERYだよ"); }); もだめっすか。 だとしたら、No.1さんのおっしゃるとおりです。

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

あ~・・・・HTTPの基礎っちゃ基礎なんだけど、ハマりポイントではあるかもね。 document.write("<script type='text/javascript' src='http://hoge.com/jquery.js'></script>"); は、ブラウザ上で正しく動作しているはずだよ。では次のお話。HTML中に <script type='text/javascript' src='http://hoge.com/jquery.js'></script> と言う記述があったとして、それを「お、これはscriptタグだ。今からスクリプトを書こうとしてるのだな、って思ったら外部ファイルかい! ファイルのロケーションを確認するにhttp://hoge.com/jquery.jsか。じゃあそれをHTTP GETして取ってきてここの部分を置き換えよう」って思って実行しているのは、誰? それは。それは? ブラウザだー! な、なんだってー! おいキバ○シ、どういう事なんだよ。  今の話を総合すると、document.writeによってブラウザは該当部分のHTMLテキストが<script type='text/javascript' src='http://hoge.com/jquery.js'></script>となるようスクリプト機構により処理する。が、その時にはブラウザ的にHTML内部を解析して外部ファイルを探しに行く(かどうか判定する)処理は既に完了しているのだ。置き換えられた<script type='text/javascript' src='http://hoge.com/jquery.js'></script>は置き換えが完了した時点で既にブラウザにとって解釈する対象のタグではないという事。なのでブラウザはhttp://hoge.com/jquery.jsをHTTP GETリクエストにより取ってきてすらいないわけだね。ただ、この辺は正確にはブラウザに依存する。うまくいくブラウザもあるかもね。

trfnc223
質問者

お礼

ご回答ありがとうございます。 ごめんなさい。。 わかったようでわかってないのですが、 要はjquery.jsが効いていないってことですよね。 上記のようなことをする場合は、 不可能ということなんでしょうか。 それともほかに方法があるのでしょうか。