• ベストアンサー

アクションスクリプトでブックマーク登録ボタンを作りたいです

ボタンシンボルを作成して、そのボタンシンボルにアクションスクリプトを使用して、ブックマークに登録出来るようにしたいのです。 そのボタンをクリックする事によって、そのサイトがブックマークに登録出来るようなアクションスクリプト(の記述)を使いたいのですが、どなたか解る方がいましたら教えてください。よろしくお願い致します。

  • Flash
  • 回答数1
  • ありがとう数3

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

やれやれと.......。 質問者さんだけに言っているわけではありませんが,せめて Flash のバージョンくらいは書きましょう。 ActionScript に関するご質問の場合は,使用する ActionScript のバージョンもあったほうが望ましい(必要)です。 私はここかしこで 何度も 何度も 何度も 何度も 何度も 何度も 何度も 何度も 何度も 何度も 何度も 何度も 何度も ……… 同じ内容のことを書いているのですが, 質問者の方はなかなかバージョンを書かれません/(-_-)ヽ。 --- --- --- さて,ご質問の件ですが,基本的に 「Flash外」 のことです。 「ユーザのブラウザを操作する」=「Flash外」 ですよね。 「ユーザのブラウザを操作する」≒「JavaScript(& CSS & HTML)」 です。 Flash内に,そういうブラウザ操作系のボタンを用意する場合は, 「Flashのボタンからブラウザに向けて,そういうJavaScriptを実行するような命令を投げる。」 というプログラムを実行させるしくみを作ります。 しかし..., ブックマーク登録JavaScript はブラウザによってまちまちですよ。 「ブックマーク(お気に入り)オブジェクト」 の クラス がそもそもブラウザによって違います。 IE だと window.external クラスに属するようです。 FF などだと window.sidebar クラスに属するようです。 Opera だと JavaScript ではなく HTML を使うとか。 質問 「使用者の閲覧しているページをブックマークするにはどうすればよいのでしょうか? 」 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2249284 そもそもがそういう状況ですから 「お気に入りに追加」 ボタン自体をそうそう見かけないのです(あっても趣味サイトの遊び程度ボタンですね)。 "IE対応のみ" での,数例を書いてみます。 ◎ ActionScript 1.0 ボタン自体に書く 【例1】 on (release) { getURL("javascript:window.external.AddFavorite('Http://○○','Page名')"); } ※ Flash Player 4 以上(注:作成ツールは Flash 5 以上)    この 注: について↑    作成ツール Flash 4 は言語がこれとは全く違うので    ここで書いたものは全く使えません。    ActionScript 1.0 は Flash 5 以上の言語です。 ※ Http:// の 頭の H は半角小文字の h にしてください。   自動リンクで入る目に見えない文字の混入防止のためです。   続く以下全ても同じです。      ̄ ̄ ̄ ̄ ̄ ̄ ◎ ActionScript 1.0 ボタン自体に書く 【例2】 on (release) { flash.external.ExternalInterface.call("window.external.AddFavorite", "Http://○○", "Page名"); } ※ Flash Player 8 以上(作成ツールも Flash 8 以上) --- --- --- ◎ ActionScript 1.0 フレームに書く 【例1】 bookmark_btn.onRelease = function() { getURL("javascript:window.external.AddFavorite('Http://○○','Page名')"); }; ※ Flash Player 6 以上(作成ツールも Flash MX 以上) ※ ボタンには 「bookmark_btn」 というインスタンス名を付けた場合です。   「フレームに書く」とはボタンが存在するフレームの任意のレイヤーの   キーフレームに ActionScript を書くという意味です。   続く以下全ても同じです。      ̄ ̄ ̄ ̄ ̄ ̄ ◎ ActionScript 1.0 フレームに書く 【例2】 bookmark_btn.onRelease = function() { flash.external.ExternalInterface.call("window.external.AddFavorite", "Http://○○", "Page名"); }; ※ Flash Player 8 以上(作成ツールも Flash 8 以上) --- --- --- ◎ ActionScript 2.0 フレームに書く 【例1】 bookmark_btn.onRelease = function():Void { getURL("javascript:window.external.AddFavorite('Http://○○','Page名')"); }; ※ Flash Player 6 以上(注:作成ツールは Flash MX 2004 以上)    この 注: について↑    Flash MX では ActionScript 1.0 までしか使えません。    変数や関数の型指定は ActionScript 2.0 以降で可能。    AS2 の 型指定は SWFパブリッシュ後に無効になるので    Flash Player 6 でも動作します。    (AS3 の型指定 は SWFパブリッシュ後も有効です) ◎ ActionScript 2.0 フレームに書く 【例2】 import flash.external.*; bookmark_btn.onRelease = function():Void { ExternalInterface.call("window.external.AddFavorite", "Http://○○", "Page名"); }; ※ Flash Player 8 以上(作成ツールも Flash 8 以上) --- --- --- ◎ ActionScript 3.0 フレームに書く 【例1】 bookmark_btn.addEventListener(MouseEvent.CLICK,setBookMark); function setBookMark(evt:MouseEvent):void { var myStr:String="javascript:window.external.AddFavorite('Http://○○','Page名')"; var myURL:URLRequest=new URLRequest(myStr); navigateToURL(myURL,"_self"); } ※ Flash Player 9 以上(作成ツールも Flash CS3 以上) ※ これ↑は他との均衡で書いてみただけで普通は使いません。   普通は次↓を使います。 ◎ ActionScript 3.0 フレームに書く 【例2】 import flash.external.*; bookmark_btn.addEventListener(MouseEvent.CLICK,setBookMark); function setBookMark(evt:MouseEvent):void { ExternalInterface.call("window.external.AddFavorite", "Http://○○", "Page名"); } ※ Flash Player 9 以上(作成ツールも Flash CS3 以上) ====== ====== ====== 繰り返しますが 「ユーザのブラウザを操作する」 のです。 したがって, SWF と HTML をパブリッシュして(または SWF を HTML に貼り付けて), ブラウザでその HTML を開いて動作検証する必要があります。 あと,Flash Player 9 以降はセキュリティが変わったので, こちらも検索しておく必要があるかもしれません↓。 Google「allowscriptaccess samedomain always」 http://www.google.co.jp/search?hl=ja&q=allowscriptaccess+samedomain+always&lr=lang_ja これだけ書けば,どれかに当てはまるのではないかと思います。 ただし,IE限定ですが。 逆に言えば最低これくらいは書かないとかすりもしない回答になるということになります。 ExternalInterface.call の普通の使い方は HTML に記入した JavaScript の関数を SWF 内から実行するというものです。 したがって, ブラウザの判定やもっと複雑なことをする場合は, とりあえず JavaScript を完成させて, そして その JavaScript の関数を Flash から実行するという方法を取る必要があります。 本題は Flash や ActionScript ではありません。 ブラウザの判定やもっと複雑なことをする場合, JavaScript と ActionScript が絡む部分は, 上記の中で使うものに応じて, 「getURL JavaScript」 や 「ExternalInterface.call」 などと検索してみてください。 Flash は猛烈に進化し続けている "生きたソフト" です。 「バージョンアップしてもしなくても大差なし」 というような どこかの死んだソフトとは違います。 「昨日の真 は 今日の嘘」 です。 バージョン違いでできたりできなかったりするのは当たり前。 本やサイトを書いている時点では「真実」でも, それを読んだ時点では「大嘘」になってしまうことは Flash ではしょっちゅう起こります。 ですから,質問をするにしてもしないにしても, 自分の使ってる作成ツールのバージョンくらいはせめてしっかり自覚して使い, 最重要ポイントとして押さえておくことが大切です。 ↓下の図の画面は Windows 版 Flash 8 のものです。   Flash MX ~ Flash CS3 は比較的似ていると思います。   Flash 5 や Flash CS4 は全く異なります。

gunhiro
質問者

お礼

BlurFiltanさん。はじめましてこんにちわ。 お忙しい中、ご回答有難うございました…。早速ですが、ヴァージョンを言ってなくて誠に申し訳ございませんでした。BlurFiltanさんのおしゃっるとおり、ヴァージョンが解らないと…説明が大変になってしまいますね。本当にすみませんでした。Flash のバージョンはCS4です。そして、ActionScriptはヴァージョンは2です。BlurFiltanさんの言うように、「◎ ActionScript 1.0 ボタン自体に書く 【例2】」のやり方で記述しましたら、出来ました…ブックマークに登録出来るようになりまました。とても嬉しいです!本当に有難うございました。BlurFiltanさんのご説明は大変に細かくてわかりやすいです。お忙しい中、本当に有難うございました。

関連するQ&A

  • 指定したURLを開くアクションスクリプトを教えてください

    FlashCS4です。アクションスクリプト3.0です。 タイムラインのフレームにアクションスクリプト3.0を使用して、ボタンをクリックしたら指定したURLが別ウインドウで開くアクションスクリプトの記述を教えてください。お願いします。 具体的には…例えばボタンに「navi_btn」と言うインスタンス名を使用して、そのボタンをクリックしたら指定したURLが別ウインドウで開くようにしたいのです…。教えてください。よろしくお願い致します。

    • ベストアンサー
    • Flash
  • アクションスクリプトでボタンを押すたびに足し算

    Flash CS5上でボタンを押す毎に、設定した数を足していくフラッシュを作りたいのですが うまく動作してくれません。 予めボタンに数字を設定して(例えば100)それをクリックすると テキストフィールドに加算されていく。というものにしたいのですが… 1回クリックで100、2回目で200、…という感じです。 表面上ではボタンと現在の数字だけがあるだけのシンプルなものです。 どのようなアクションスクリプトを記述すれば良いのでしょうか。 詳しい方、教えていただけませんでしょうか? よろしくお願い致します。

  • Flash cs3でボタンシンボルにアクションスクリプトを組めない

    こんにちは。 Flash cs3を使ってボタンシンボルを作り、 それにアクションスクリプトを付けたいのですが、 インスタンスを選択してもアクションウインドウで「アクションーボタン」と認識してくれず、「アクション」だけの表示で、”現在の選択範囲にアクションを割り当てることは出来ません”と表示されてしまいます。 ライブラリのアイコンを確認してもボタンシンボルになっていますし、アップやダウンといったボタン特有のタイムラインは付いています。 アクションパネルでのみ、ボタンシンボルとして認識されないのですが原因が分かる方、ぜひ教えてください。 MXの時は同じやり方で問題なかった気がするのですが、、、。 cs3の不具合なのか、又はソフトウェアのインストールの問題なのか、同ケースでご存知の方がいらっしゃいましたら情報いただけると助かります。 マシンはpower mac G5を使用しています。 どうか宜しくお願い致します。

  • 【Flash】アクションスクリプトの表示階層について

    こんにちは。 大変初歩的な質問かと思いますが、アクションスクリプトと、他シンボル(画像やスプライト等)の表示階層の件で教えてください。 使用ソフトは『suzuka』、OSは『WindowsXP』です。 簡単なFlashを作成したことはありますが、アクションスクリプトは初めて使用します。 下記のサイトを参考に、雪を降らせるFlashを作りました。 http://www.kirupa.com/developer/mx/snow.htm 記述は、数値のみ少し変更しました。 背景として雪を降らせて、その上で他の画像やスプライトが動くFlashにしたいのですが、どうしても雪が最前面で降ってしまいます。 アクションスクリプトのレイヤー位置を、他シンボルの下に置いても変わりません。 アクションスクリプトとは、レイヤー位置に関わらず、基本的に最前面で作動するものなのでしょうか? どうすれば、他シンボルの背後でアクションスクリプトが作動しますか? 恐れ入りますが、教えてください。

    • ベストアンサー
    • Flash
  • ボタンのアクションスクリプトについて

    ボタンをクリックしたら指定のURLを開かせる、というときは、ボタンのアクションスクリプトに対して、 on(press){ getURL ("01.html"); } としますよね? これを「●●」という名前のボタンは「01.html」、というように一括で変更する方法はありますか? 最初は「01.html」だったけど、その後「../01.html」になった場合、ひとつひとつ選択して変えなくてはなりません。 もし、そういう方法があったら便利だなと思ったモノで。 使用しているのはFLASH5です。

  • Flash8★こういう場合はアクションスクリプトですか?

    アクションスクリプトというものを一度もやったことがない初心者です。 なんだか英語の羅列が難しそうで、今まではタイムラインを使って動かす事しかしませんでした。 でも、動きに限界が・・・。やりたいことはこうです↓↓ 風船が画面右から入ってきて真ん中でとまり、その場所でふわふわと常に上下し続ける。 風船にマウスをのせると風船から吹き出しが現れ、クリックするとページが飛ぶ。 やりたいことは以上です。 風船のボタンシンボルは作り終わったのですが、動きはアクションスクリプトで指定するんですよね? 簡単にできるものでしょうか?「おしえてFlash8ACTION SCRIPT」という 本を購入したものの、自分のやりたい事がどれなのかすら分からず。 これは本当にアクションスクリプトというものを使うのだろうか?という根本的な疑問まで出てくる始末(汗)^^; どなたかアドバイス頂けると嬉しいですm(_ _)m

  • オブジェクトアクションの設定について

    FlashMXでバナーを作成する際、オブジェクトアクションの指定があり、ヘルプを読んで設定しましたが、初心者なものでわからない点が多々ありました。初歩的な質問ばかりですみませんが・・・わかる方教えてください。 Q1.オブジェクトアクションは、インスタンスごとに設定するとあったので下記のように行ったのですが・・・ (1)シンボルを配置したフレームをクリックして、 (2)インスタンスをクリックして、 (3)プロパティでグラフィック(作成したのはすべてグラフィックシンボルでした)をボタンに変更して、 (4)アクションパネルにスクリプトを記入する。 これを全フレーム内のインスタンスすべてに 繰り返す、というのでよかったのでしょうか? 長いフラッシュだと大変な作業ですし、もしかしたら間違っているのではと思っています。。 Q2.グラフィックシンボルなのに、ボタンに変更しないとスクリプトが書き込めないのはなぜですか。 Q3.ボタンにはインスタンス名を書き込む欄が出てきますが、これはどんな役割があるのでしょうか。 Q4.スクリプトは、 on (release) { getURL(_root.clickTAG, _root.targetTAG);} という内容ですが、これの正確な意味を教えてください。

    • ベストアンサー
    • Flash
  • ボタンにPDFをダウンロードするアクション

    ウェブ初心者です。 宜しくお願い致します。 私はFLASH CS3を利用しています。 ボタンを作成し、そのボタンに対し、”クリックされたらPDFファイルをコンピュータにダウンロードし、自動的にアクロバットでファイルを表示する”、というアクションを設定したいのです。 どういうアクションスクリプトを書けば良いのでしょうか? 教えて頂けると大変助かります。お願いします。

  • ボタンのスクリプト

    Flash8を使っています。 10個ほどのシーンを作り,スタート画面になるシーンにメニューボタンを作りました。メニューボタンはクリックするとサブメニューが出てくるように設定しています。サブメニューをクリックすると他のシーンに飛ぶようにしたいのですが,うまくいきません。サブメニューに貼り付けたスクリプトは以下の通りです。 on (release) {  gotoAndStop("シーン名", 1); } ちなみにメニューボタンはシンボルの編集画面で作成しサブメニューのボタンのスクリプトもそちらで記入しています。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • 「Suzuka」のアクションスクリプト

    フリーのFlash作成ソフト、「Suzuka」を使用してFlashをつくっているのですが、アクションスクリプトの命令の言語がさっぱりわかりません。 スクリプト(クリックアクション)となっている所に、スクリプト編集があるのですが、もともと、アクションスクリプトの知識は皆無で、手も足も出ません。 今回は、Flashでテキストだけの物語を作ろうとしているので、 せめて、 「クリックして、次のテキストを表示する」 ことをやりたいのです。 これは、テキストエフェクトでは出来ませんでした。 やりかたがわかる人はどうか、教えてください。 よろしくお願いします。

専門家に質問してみよう