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

小さな別ウインドウを開いて、そこで、スライドショーが展開しているHPを見かけることが良くありますが、、、、あれは、どうすれば出来るのでしょうか?小さな別ウインドウを開くタグや、スライドショーを展開するタグを、単体で別々には、よく見かけますが、、、、下記のタグを記述したのですが、スライドショーになってくれません、なぜでしょうか?


<script language=JavaScript>
WinOpenLink=new Array();
WinOpenLink[0]='開くページのURL+300+250+0+0+0+0+0+0+0+0';
C44=String.fromCharCode(44);
C60=String.fromCharCode(60);
C62=String.fromCharCode(62);
makescript=C60+'script language=JavaScript>function LWOpen(WOLno){';
makescript+='wol=WinOpenLink[WOLno].split(\'+\');';
makescript+='newWindow=window.open(wol[0]'+C44+'\'_blank\''+C44+'\'width=\'+wol[1]+\''+C44+'height=\'+wol[2]+\''+C44+'directories=\'+wol[3]+\''+C44+'location=\'+wol[4]+\''+C44+'menubar=\'+wol[5]+\''+C44+'resizable=\'+wol[6]+\''+C44+'scrollbars=\'+wol[7]+\''+C44+'status=\'+wol[8]+\''+C44+'titlebar=\'+wol[9]+\''+C44+'toolbar=\'+wol[10]+\'\');';
makescript+='}</script'+C62;
document.write(makescript);
LWOpen(0);
</script>

A 回答 (1件)

ご質問のようなケースであれば、小さな別ウィンドウを開くスクリプトと、スライドショーを展開するスクリプトをそれぞれ別々のHTMLファイルに記述しておき、小さな別ウィンドウを開くスクリプトで、スライドショーを表示させるHTMLファイルを呼び出すのが一番手軽だと思います。



たとえば、別に用意するスライドショーのスクリプトを仕込んだHTMLファイルを「slideshow.html」とするなら、サブウィンドウを呼び出す側のHTMLファイルのスクリプトは、

<script type="text/javascript"><!--
function WOpen(){
window.open("slideshow.html","_blank","width=300, height=250");
}
//--></script>

としてやれば、サイズなどを指定された新しいウィンドウを開いて、そこにスライドショーを見せるHTMLファイルを読み込むので、サブウィンドウ内でスライドショーを展開させることが可能になるのではないかと思います。

もしこれをウィンドウを開く側のHTMLですべてまかなうとしたら、かなり大掛かりなスクリプトを組む必要があると思います。 1つのファイルですべてを済ますことから離れて2つのHTMLファイルを用意し、スライドショーのページを別ファイルにして、それをサブウィンドウに読み出したほうが手間が省けると思いますが、いかがでしょうか。

ちなみに、ご質問文にあるスクリプトの動作については、はじめにWinOpenLinkという配列を作って、そこにウィンドウを開くときに使うデータを格納し、
その次に変数makescriptにJavascriptのscript要素の内容をタグごと格納し、
その次にdocument.write()でmakescriptをそこに書き出し、
最後にLWOpen(0)でdocument.write()で書き出したスクリプトを呼び出しているようです。
JavaScriptをJavaScriptで書き出すなど、かなり無駄が多いと思いますし、これだと新しいウィンドウを開いてそこに指定されたファイルを表示させるだけだと思います。 スライドショーを実行させるようなソースは含まれていないように見えますので、これだけではスライドショーにはならないでしょう。

見当違いでしたらごめんなさい。 参考になれば幸いです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます、この素材ソースはスライドショーではないわけですね。

お礼日時:2003/04/12 14:20

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