プロが教えるわが家の防犯対策術!

サイト内に他のページ情報を表示するJavascriptを記述したところ、
他ページの情報を読み取るのに時間がかかり、結果としてJavascriptの記述部分以降の
表示が遅くなるようです。
いろいろ調べたところでは、Javascriptをページ最後で実行させればよいことは分かったのですが、
Javascriptの表示場所は変えずに、実行だけを最後に行うことはできるのでしょうか?

実行させたいJavascriptは以下の内容です。

<SCRIPT language="JavaScript" src="http://XXXX"></SCRIPT>

※RSSを表示する

A 回答 (4件)

#3です。



考えてみたらajaxとかではないので、直後に実行するだけでよいみたい。
(これならかなり簡単)


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
</head>
<body>

<div id="comment">ここに表示</div>
<hr>

・・・・ その他の文章 ・・・・


<!-- ここから下をbody直前に書く -->
<div id="temporary">
<!-- ↓普通に表示させたい時と同じ記述をする -->
<script type="text/javascript" src="Http://www.daikoku-ya.org/perl/jsRSS/jsRSS.cgi?url=Http://twitter.com/statuses/user_timeline/3918621.rss::temp=twitter.tmp::line=10"></script>
</div>

<script type="text/javascript">
<!--
(function(){
var t = document.getElementById('temporary');
document.getElementById('comment').innerHTML = t.innerHTML;
t.parentNode.removeChild(t);
})();
//-->
</script>
</body>
</html>
    • good
    • 0

#2様がご提示の方法が大変スマートだと思いますが、少しだけ簡単な方法を…


(同じことを泥臭くやっているようなものか…)
一旦(下の方に)表示させてから、内容を目的のところへ移動させています。(仮表示の部分は削除)

(* アドレスのHttp部分はhttpに(2箇所)。直接呼出しは叱られるかも知れないけどサンプルなので。)


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
</head>
<body>

<div id="comment">ここに表示</div>
<hr>

・・・・ その他の表示 ・・・・


<!-- ここから下をbody直前に書く -->

<div id="temporary" style="visibility:hidden;">
<!-- ↓普通に表示させたい時と同じ記述をする -->
<script type="text/javascript" src="Http://www.daikoku-ya.org/perl/jsRSS/jsRSS.cgi?url=Http://twitter.com/statuses/user_timeline/3918621.rss::temp=twitter.tmp::line=10"></script>
</div>

<script type="text/javascript">
<!--
/*@cc_on@*/
window./*@if(1)attachEvent('on' + @else@*/addEventListener(/*@end@*/'load',
function(){
var t = document.getElementById('temporary');
document.getElementById('comment').innerHTML = t.innerHTML;
t.parentNode.removeChild(t);
}, false);
//-->
</script>
</body>
</html>
    • good
    • 0

> 任意RSSを出力できるjsRSSと呼ばれるフリープログラムを利用しています。


最近、同じような質問に回答しました。
参考までに。

xhtmlでJavaScriptを使えますか? | OKWave
http://oshiete.goo.ne.jp/qa/6432492.html
    • good
    • 0
この回答へのお礼

早々のご回答ありがとうございます。
ご紹介先に記載されているリンクページを拝見させて頂きました。
簡単にできるかと思いきや、少々勉強しないとついていけなさそうです。
リンクページで勉強させていただきます。

お礼日時:2011/01/12 22:52

意味がよくわかりませんが、


「Javascriptの表示場所は変えずに、」
=>document.write 実行箇所の事でしょうかねえ?

Javascriptをページ最後で実行させるなら単に</body>の直前に
<script></script>
を移動させるだけですけど、document.writeで途中に何か書き出してるなら、
位置を指定したDOM関数(例えばinnnerHTML)に書き換える必要があるかと。

 スクリプトの内容しだいですね。

この回答への補足

早々のご回答ありがとうございます。

ご指摘の通り、実行させたいJavascriptは</body>直前に設置したいと考えています。
Javascript内では文字列の出力が行われるために、そのままでは、</body>直前への出力となりますので、
ページ中央の指定した場所で表示させたいと考えいます。

DOM関数というアドバイスを頂きまして、以下のように作成してみました。
しかし何も表示されません。。。
いろいろと試しているのですが、解決の目処が立たず申し訳ございませんが、
アドバイスを頂けると幸いです。


<div id="comment">ここに表示</div>
・・・
・・・
<SCRIPT Language="JavaScript"><!--
document.getElementById('comment').src = "http://XXXX";
--></SCRIPT>
</body>


上記の"http://XXXX"部分ですが、ここは任意RSSを出力できるjsRSSと呼ばれるフリープログラムを利用しています。

単純に、ホームページ内で以下のプログラムを実行した場合の出力をご紹介します。
<SCRIPT language="JavaScript" src="http://XXXX"></SCRIPT>

出力例は以下の通りです。
[2010/12/31 17:31:58]
ウォークマン年末に首位奪還
[2010/12/28 12:56:26]
Windows7について

補足日時:2011/01/11 20:40
    • good
    • 0

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