次に示すのは、最も簡単なポップアップ・ウィンドーの作り方です。
<SCRIPT language="javascript">
<!--- to hide
function myWindow() {
myPopup=open("","myWin","Height=200,Width=300")
myPopup.document.write("This is my Popup window!")
myPopup.document.close()
}
//--->
</SCRIPT>
<FORM>
<input type="button"
value="ここをクリックするとポップアップ・ウィンドーが開きます。"
onClick="myWindow()">
</FORM>
このサイトでは正常にポップアップ・ウィンドーが開きますが、プロバイダーによると、このポップアップ・ウィンドーを禁止しているところがあります。
無料でサイト開設サービスを提供しているプロバイダーに、こういう、こそくなことをする所があります。
なぜか?
広告が入れにくいということがその理由です。しかし、これは技術的に可能なことで、長い眼でみれば、こういうことをするプロバイダーは、
たくさんのお客さんを逃すことになるでしょう。このことに早く気づいて止めてくれるとよいのですが。。。
その例として、このリンク(TARGET Made Easy!)をクリックしてみてください。
ポップアップ・ウィンドーを作るセクションへ連れて行ってくれます。
そこで、バーをクリックすると、下に示すような画面が現われます。
(新しいウィンドーが開きます、このページへ戻るには、新しいウィンドーを閉じてください。)
ポップアップ・ウィンドーが開いているように見えますが、中身は空白です。
画面の左下のステイタス・バーを見ると、エラー・アイコンが出ています。
ステイタス・バーって何ですか?
私の画面には見当たりませんが。。。
下に示すように、メニュー・バーのVIEWをクリックすると、プルダウン・メニューが現われます。Status Bar
をクリックすると左下に ステイタス・バーが現われます。
そのステイタス・バーの左端に顔をのぞかせている、黄色い小さな三角形のエラー・アイコンをダブル・クリックすると次に示すようなエラー・メッセージが現われます。
『アクセス禁止!』―つまり、プロバイダーがポップアップ・ウィンドーを使わせないようにしているわけです。
おそらく、2、3年のうちには、このような小細工はしなくなるでしょう。
それには、前例があります。信じられないかもしれませんが、以前は、ジャンプ・アクセスを禁止していたプロバイダーがけっこうありました。
ジャンプ・アクセスというのは、上のリンクをクリックしてみると分かりますが、ページの初めではなくて、なかほどへ、あなたを案内します。
これを禁止する理由は、ページの頭の広告を避けて通る、ということでした。もちろん、こういうことをするのは、
無料サイト開設サービスを提供しているプロバイダーだけです。
ジャンプ・アクセスってどうやるの?
それはこのページ(ジャンプ・アクセスってどうやるの?)を見てください。新しいページが開きます。
このページへ戻るには、そのページを閉じてください。
他のページをポップアップ・ウィンドーの中に入れて出すにはどうするの?
このリンクをクリックするとジューンを紹介するページがポップアップ・ウィンドーの中に入って飛び出します。
上のデモは次のようなコードから成り立っています。
<script language="javascript">
<!--- to hide
function newWindow(pic) {
newWin = window.open(pic, 'newWin',
'scrollbars=yes,status=yes,toolbar=yes,
menubar=yes,location=yes,width=600,height=400')
}
//---->
</script>
<a href="javascript:newWindow('june4.html')">このリンクをクリックする</a>とジューンを紹介するページがポップアップ・ウィンドーの中に入って飛び出します。
<form>
<input type="button" value="ボタンでやるとこうなります。"
onClick="newWindow('june4.html')">
</form>
注意事項
- window.open() の3つめの、ながーいパラメターは、見易くするために改行していますが、実際には、キャリッジ・リターンは入っていません。改行すると、正常に起動しません。ウィンドーの大きさが指定したサイズにならなかったりします。
- 初めの例では、window.open() ではなく、open() となっています。これだけでも、あなたのブラウザーは間違いなくウィンドーを作ってくれますが、正式にはwindow.open() と書かなくてはなりません。この window はジャバスクリプト語に従うと、ウィンドー・オブジェクトという意味で、このページは document オブジェクトになるわけです。ジャバスクリプトのほとんどすべてのファンクションはこのオブジェクトに対して働きかけるわけです。
したがって、window.open() と書くと、『ウィンドー・オブジェクトを開け』という意味になるわけです。open() だけでは、もの分かりの悪いブラウザーだと、一体何を開くのか考えてしまうというわけです。
このウィンドー・オブジェクトに対しては、ただ単にオープンしたり、クローズしたりだけでなく、まだまだ、いろいろとマニピュレートできます、詳しくは、このページ(WINDOW Object Basics)を見てください。
- したがって、初めの例で、myPopup.document.close() と書いてありますが、これは、ウィンドーそのものをクローズするのではなくて、window.open()
でつくったウィンドー・オブジェクト(myPopup)のなかのページ(document)をクローズする、つまり、書き終える、という意味です。
- myWin というのは、ウィンドー・オブジェクト(myPopup)に付けた、参照用の名前です。TARGET="anyName" のなかに書く名前と同じようなものだと考えてください。このTARGETについて、もっと知りたいときは、このページ(TARGET Made Easy!)を見てください。
ページでなく、写真だけを
ポップアップ・ウィンドーに入れて
出せますか?
下に示すように、原則として出せます。
このような場合には、下のように書きます。
<form>
<input type="button" value="写真だけのポップアップ"
onClick="newWindow('../images/june320.gif')">
</form>
しかし、上のバーをクリックしてみれば分る通り、あなたにはできません。
なぜか? その理由は、次のページ(なぜ、写真だけをポップアップ・ウィンドーに入れて出せないの?)で説明します。
Related Links