|
getURL は,できるものとできないものがあったり,ローカルセキュリティの問題で,ローカルの SWF からは実行をはばまれる場合があるので,あまり書きたくはないのですが,基本中の基本ですから,今後の説明をするためにの避けて通ることはできないのでしょうね。
getURL関数 は,簡単に言うとハイパーリンクです。
というわけで,とりあえずサンプルです。
サンプル作成に使用した ParaDraw のバージョンは Ver.0.3a4, Suzuka のバージョンは Ver. 0.7.3.3 です。
Flash Playerがインストールされていて,なおかつ Web 上に SWF とそれを貼り付けた HTML をアップした場合,一番上の「_self」ボタンの getURL が一番確実に動作すると思います。一番無難です。
その 「_self」 のボタンには次のように書いています。
on (release) {
getURL("http://www.google.co.jp/");
}
|
上のようにボタンに書くと,Googleサイトが同窓で開きます。
ダウンロードしてローカルPCに保存した SWF を HTML 経由で見る場合,Flash Player のセキュリティの都合上,getURL が動作しない場合があります。対処法は次の URL を参考にしてみてください。
「コンテンツ作成者のためのグローバルセキュリティ設定」
http://www.macromedia.com/support/documentation/
jp/flashplayer/help/settings_manager04a.html
次の 「_blank」 のボタンには次のように書いています。
on (release) {
getURL("http://www.google.co.jp/","_blank");
}
|
この辺から,だんだん雲行きが怪しくなります。ポップアップブロックをかけているブラウザや,Googleツールバーなどのポップアップブロックを有効にしている場合,この別窓で開く動作は阻止される可能性が高いです。
Flash に限らず HTML にも言えることなのですが,この "_blank"(HTMLの場合,<a href="○○" target="_blank">△△</a>)はあまり使わない方が良いと言えます。(使わない方が良いと言いつつ上の 「コンテンツ作成者のためのグローバルセキュリティ設定」 へのリンクには target="_blank" を使用していますけどね。)
次の 「JavaScript」 のボタンには次のように書いています。
on (release) {
getURL
("javascript:void(window.open('http://www.google.co.jp/','w','width=400,height=250'))");
}
|
getURL の ( ) 内には JavaScript を入れることができます。こうすることによって,小窓(子窓)で新しいページを開くことができます。
…が。JavaScriptを有効にしたブラウザであって,なおかつポップアップブロックを無効にしたブラウザでないと動作しませんし,小窓はかなり嫌っている方が多いので多用は控える方が良いと思います。
ちょっと質の悪いサイトに行くと,ブラクラのようにパッカパッカと小窓を開くサイトがかつては良くありました。サイト作成者にブラクラの意志があるのではなく,単に広告ページがパッカパッカ開くものが多かったと思いますが。
そのパッカパッカ攻撃はいやなので,JavaScript は有効にしていても,ポップアップをブロックしている方が多いです。現にささきちがそのうちの1人です。
ここでは,「こんなこともできますよ。」という意味で書いているだけで,決して小窓を推奨しているわけではありません。
最後の 「mailto」 のボタンには次のように書いています。
on (release) {
getURL("mailto:xxxx@xx.xx");
}
|
HTML に貼り付けた SWF を見たときに限ってブラウザ経由で,メーラーを起動させることもできます。
しかし,これはメールの題名や本文まで自動記入させる形にすると Mac ではあまり通用しないと聞きます。また環境によってもどう動作するか保証されていません。
仲間うちの遊び程度に使うのでしたら問題はないと思いますが,企業や団体や公的機関のHPなどに使わない方が良いかもしれません。
getURL が自由に使えれば,ブラウザとの対話ができるので結構面白く便利ですが,いろいろな環境のことや,他人への配慮を考えると,一番上の 「_self」 のボタン のようにシンプルに使うのが良いと思います。
なお上記の getURL は,グローバルな getURL関数 を使用しています。getURL には,この getURL関数 以外に,MovieClipクラスの getURLメソッド もあります。しかし,機能はほとんど変わりません。
MovieClipクラスの getURLメソッド を使っても,MovieClip(スプライト) の中に新しいページが表示されるわけではなく,ブラウザごと新しいページが表示されます。
何が違うのかというと,MovieClipクラスの getURLメソッド を使って新しいページを開くと同時に,GET や POST変数を送信する場合,そのMovieClip(スプライト) の中の変数が全て送信されます。
つまり,MovieClipクラスの getURLメソッド を使った場合,送信すべき変数が存在する MovieClip(スプライト) を選べるというメリットがありますが,今回の説明には変数を送信する部分は含みませんから,上記のような場合はどちらも変わらないと言えます。
|