• ベストアンサー

Perl URL に GET で送られてきた変数の処理について

サーバサイドプログラムのカテゴリで質問するようアドバイスを受けました。 こちらで再度質問させてください。 FLASHでバナーを作りました。 FLASHでボタンを作り、 on (release) { getURL("http://~hogehoge.com/", "_self", "GET"); } とaction scriptを書きました。 きちんとボタンは機能し、私のサイトが開くようにできました。 次に、このバナーをクリックしたのはどこのページからなのか (バナーを設置してくださったサイト様のページURL)を知りたいと思ったのですが、 このままだとアクセスログにリンク元URLが残りません。 調べてみたら、FlashVarsを使う方法が紹介されていたので、 見よう見まねで配布する際の設置タグの中に次の2行を加えました。 <param name=FlashVars VALUE="text1=a"> <EMBED src="no_1.swf" FlashVars="text1=a" quality=high~ ここでギブアップです! わたしのサイトのアクセス解析CGI(Perl)にリンク元を残すには どのようにすればよいのか、ご教示いただけませんでしょうか。

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

  • ベストアンサー
noname#35109
noname#35109
回答No.2

どうもです。 「FlashVarsの使い方」 http://oshiete1.goo.ne.jp/qa2488169.html  ↑教えて!goo ↓OKWave (同じです) http://okwave.jp/qa2488169.html の#1で回答した者です。 実現したいことを整理しましょう。 やりたいことをすごくおおまかに書くと次のようになります。  JavaScript で HTML の URL取得          ↓       SWF に送信          ↓       CGIに送信          ↓      CGI でデータ保存 FlashVars と getURL() の役割部分は,       SWF に送信 … FlashVars          ↓       CGIに送信  … getURL() ここの部分だけです。 ここは最も簡単で,ご質問で書かれている状態で大丈夫だと思います。 前回のご質問では, > どのようにすればよいのか、ご教示いただければ幸いです。 と書かれているので, 次の段階は       CGIに送信  … getURL() (完了)          ↓      CGI でデータ保存 の「CGI でデータ保存」なので, サーバサイドプログラミングのカテゴリで > 『URL に GET で送られてきた変数を, > どのようにすれば アクセスログ として > サーバ上に残せるのか。』 という質問をしてみてくださいとアドバイス差し上げたわけです。 しかし,その前に,  JavaScript で HTML の URL取得 の方もできていないのであれば, まずそちらを探さねばなりません。 これは,こちらの質問スレッドの#1の方の書かれている方法でも良いと思いますし, FlashVars を使う場合も, FLASH-JP.COM - フォーラム 「フラッシュが表示されてるページのURLを取得する方法教えてください」 http://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=1951&forum=8 のようになります。 つまり, > バナーを貼って頂くサイト様のHTMLに、 > かなり手を入れてもらわなければならなくなってしまい ということになってしまいます。 とにかく,実現したいことを明確に整理し,  JavaScript で HTML の URL取得          ↓       SWF に送信          ↓       CGIに送信          ↓      CGI でデータ保存 これを1つずつクリアしなければ, 書かれているようなことは出来ません。 これはかなり難しいことだと思います。 JavaScript は環境に大きく左右されますし, クライアントサイドで JavaScript を無効にしていたら, URL を送る以前に, Flash の バナー自体が表示されなくなる可能性が十分あります。 その辺もふまえなければなりません。 ですからかなり難しいことなのです。 リンク用バナーの場合, だから普通そんなことはしないでしょう。 アフィリエイトなどのリンクバナーで,Flashを使用する場合は,  Aさんには FlashVars="text1=a"  Bさんには FlashVars="text1=b"  Cさんには FlashVars="text1=c" などと書くように 値を割り振って置いて, a が来たら,Aさんに 10円加算, c が来たら Cさんに 10円加算… のようにしていると思います。 しかし, HP に置いてあるだけの Flash 配布バナーであればこの方法は無理です。 だから普通はそういうことはしません。 - - - - - - - - - - - - - -  普通はそういうことはしないので, 代案を2つほど出させていただきます。 ◎代案1「Flash をやめてGIFアニメのバナーにする」 GIF だとリファラーが簡単に取れます。 また,imgタグ で HTML に貼り付くので,ユーザーが使うのもすごく簡単です。 Flash のパブリッシュで GIF アニメにもパブリッシュできます。 反面, GIF アニメにすると画像が汚くなるのと,ファイル容量が重くなるのが問題です。 ◎代案2「SWFのURLをサーバに送信する」 ActionScript には _url (MovieClip._url プロパティ) があって, ムービークリップ(_rootを含む)のURLが取得できます。 SWF が貼り付けられている URL ではありません。 SWF 自体のURLです。 「Flashドキュメンテーション  _url (MovieClip._url プロパティ)」 http://livedocs.macromedia.com/flash/8_jp/main/00002528.html 上記サイトは Flash 8 のヘルプサイトですが, _url 自体は,Flash 4 から使用できます。 これを書かれている物に対応させるとこうなります↓ on (release) { var test1 = this._url getURL("http://~hogehoge.com/", "_self", "GET"); } ローカルで実験した場合, URLが文字化けするかもしれませんが,これで, http://~hogehoge.com/?test1=file○○/△△/××.swf という感じで SWF のある場所が送信されます。 - - - - - - - - - - - - - - - -  上の 代案1 or 代案2 の方法を使うと,  JavaScript で HTML の URL取得 の部分が省略できます。 あとは,CGI でそのURLをどう保存するかという問題になります。 と言う感じで, 実現したいことを明確にし, ある程度妥協案も考えたうえで プログラムのコーディングをしてください。 この最も重要である「コーディングの前段階」がしっかりしていないと, 質問をしてもまともにちゃんとした回答は返ってきません。 私は CGI に関しては素人なので, この辺で退散致します。

emozilla
質問者

お礼

sassakunさま 度々教えて頂き、大変感謝しておりますm(_ _)m GIFアニメーションではできないバナー(ティッカー)だったので、 _urlプロパティ(?)を使う方法を試してみました。 教えていただいたとおり on (release) { var test1 = this._url getURL("http://~hogehoge.com/", "_self", "GET"); } と記述しただけで、アクセスログに http://自サイト/?est1=file○○/△△/××.swf と(文字化けしつつも)記録が残るようになりました。 %とかって文字化けしていることと、 「リンク元」としてではなく、 http://自サイト/?est1=file○○/△△/××.swfが閲覧されました、 と「閲覧されたページとして」記録に残るのが微妙ですが(^^;) とりあえずなんとかなりました! 貴重なお時間を割いて頂き、大変ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • mflow
  • ベストアンサー率63% (42/66)
回答No.1

何がしたいのか良くわかりませんが・・・Flash内のリンクをクリックしたときにリファラーを送信するようにすると言うことでしょうか。 CGIは関係ないですが、このページで参考になりますでしょうか。

参考URL:
http://www.gac.jp/article/index.php?stats=question&category=8&id=4771&command=msg
emozilla
質問者

補足

調べて頂き、ありがとうございますm(_ _)m 分かりにくかったようですみません・・・ わたしのホームページへのリンクが張ってあるFLASHバナーを作っています。 配布したバナーがクリックされ、わたしのサイトにアクセスがあったとき、 どのページからアクセスがあったのか知りたいのです。 サイトのアクセスログ(CGI)に残したい、という主旨でした。 ページを紹介して頂きありがとうございました! 興味深かったのですが、教えていただいたページの内容だとバナーを貼って頂くサイト様のHTMLに、 かなり手を入れてもらわなければならなくなってしまい、 バナー配布の観点からいうと使いにくいようです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • FlashVarsの使い方

    FLASHでバナーを作りました。 FLASHでボタンを作り、 on (release) { getURL("http://~hogehoge.com/", "_self", "GET"); } とaction scriptを書きました。 きちんとボタンは機能し、私のサイトが開くようにできました。 どこからアクセスがあったのか(バナーを設置してくださったサイト様のページURL)を知りたいと思ったのですが、このままだとアクセスログにリンク元URLが残りません。 調べてみたら、FlashVarsというのを使えばいいようだったので、見よう見まねで設置タグの中には次の2行を加えています。 <param name=FlashVars VALUE="text1=a"> <EMBED src="no_1.swf" FlashVars="text1=a" quality=high~ どのようにすればよいのか、ご教示いただければ幸いです。

    • ベストアンサー
    • Flash
  • getURL の変数?

    FLASHバナーから任意のURLにリンクする際、キャシュ漏洩を防ぐため、 -- SWFファイル上のボタンに組み込むActionScript(Flash 5以降の場合) -- on(release) { if ((clickTAG.substr(0, 5) == "http:") or (clickTAG.substr(0, 6) == "https:")) { getURL(clickTAG); } } と記述するのが通例のようですが、実際のリンク先はどのように設定すればいいのでしょうか? 変数で指定すればいいのかなと思うのですが、その記述方法がわかりません。 切羽詰ってしまいました。よろしくお願いします。

  • FLASHでランダムでURLを表示させたいのですが

    FLASH初心者です。携帯用のFLASHを作成しているのですが、FLASHムービーの終了後にボタンを押すと他のページに飛ぶようにするために以下のようなスクリプトを書きました。 on(keyPress"<enter>"){ getURL("http://●●●●●●●●"); } ここまではよかったのですが、次にURLのあとにパラメーターを付け、そのパラメーターをランダムで表示させて飛ぶようにさせたいのです。以下のような感じです。 on(keyPress"<enter>"){ getURL("http://●●●●●●●●?rmd=○○○"); } ※ ○○○は3桁の数字がランダムで入ります。 この場合、どのようなスクリプトを書けばいいのでしょうか?いろいろなサイトで調べて試してみたのですがどうしてもうまくいきません。どうか教えてください。

    • ベストアンサー
    • Flash
  • FLASH内リンクにURLを与える方法

    http://katamari.co.jp/ ↑このサイトで実現している、flash内部でリンクをクリックすると、ブラウザのURLも書き換えられ、そのURLにアクセスするとflash内の当該ページにリンクするというのをやりたいのですが、これはどうやっているのでしょうか?

    • ベストアンサー
    • Flash
  • flashのリンク付きバナーを埋め込んだのですが、マウスカーソルの表示

    flashのリンク付きバナーを埋め込んだのですが、マウスカーソルの表示が変です。 比較的、flashのリンク付きバナーがたくさん(7、8個)埋め込まれているページを制作しています。flashのリンクバナーの最後から2つのバナーだけにポインタを合わせた時、矢印と指の形に切り替わり続けます。 クリックすると、リンク先のページは開かれるのですが、バナーにポインタを合わせると延々とパタパタ切り替わる状態に。。。 バナーと同じ大きさのボタンインスタンスを配置し、ボタンアクションとして on (release) { getURL("http://www.aaa.com","_blank"); }と記述しても、 on(rollOver) { this.useHandCursor = true; }(※これは必要ないと思うのですが…) と記述しても同じ症状が出ます。 対処方法がわかる方がいましたら、教えてください。 よろしくお願い致します。

  • FLASHボタンとFireFox

    Flashで作ったボタンに on (release) { getURL("http://~"); } を書いて指定URLへジャンプするようにしています。最近気づいたのですが、このボタンFIREFOXでは全然機能していません。どうすればよいのでしょうか?HTMLには<embed>を使ってこのボタンを埋め込んでいます。

  • アクセス元URLをばれないようにしたい

    HTMLで、普通のアンカータグからそのサイトへジャンプすると、 そのアンカータグのあったページのURLが、 ジャンプした先のサイトに「アクセス元URL」情報として 伝わるとおもいます。 アクセス解析などですぐにバレてしまいますが、 これをどうにかして、ばれないようにしたいのです。 というのも、アクセス元URLがただのリンクページなら良いのですが、 管理人専用のページからなので、アクセス元URLをたどられると ちょっと困ります。 いちおうIDとPASSでセキュリティを施していますが、不安です。 なんとかしてアクセス元URLがばれないように アンカーからジャンプすることは出来ないでしょうか?

    • ベストアンサー
    • HTML
  • フラッシュバナーのリンクについて

    フラッシュを使ってバナーをつくり、いざ他のページから リンクでそのバナーを表示させようとしたら、フラッシュは表示される のですが、クリックしてページが移動できませんでした。 <a href="abcd.html"> <embed src="http://*******bana1.swf" width="460"height="60"> </embed> </a> タグをこのように書きましたが、abcd.htmlにリンクされるには どうすれば良いのでしょうか。 お分かりになる方、よろしくお願いします。

    • ベストアンサー
    • HTML
  • ボタンにリンクを貼っても・・・

    DreamWeaverMXと、FlashMXを使用しています。 flashでボタンを作成し、リンクを貼ったのですが、フラッシュが再生されると同時にリンク先に飛んでしまいます。 ボタンをクリックすると飛ぶようにしたいのですが、どうしたらいいでしょうか? ちなみに、リンク先のURLも合っているはずなのですが、「ページがありません」と表示されてしまいます。 ボタンへのリンクは、on (release) { getURL ("URL", "_blank"); } で貼っているので合っていると思うのですが・・・。

  • バナーのURL

    検索サイトにHPを登録する時にバナーのURLを 登録してバナーを表示させるサイトがけっこうありますよね。 私も何箇所か登録しているのですが、 サイト更新をする度に、バナーのURLの番号が変わってしまうので、登録した検索サイトに行ってすべて直さないといけないんです。 みなさんもそうでしょうか?それともなにか私がおばかな事をやってしまってるのでしょうか? リンクのページにバナーを置いているのですが、 そのページに新しいリンクを追加した時などに番号が変わってしまうことまでは突き止めました。 ホームページニンジャを使ってHP作成しているのですが、むつかしいことはわかりません。 このままでは更新するのが恐ろしくて・・・・ どなたか教えてください。

有線マウスの接続が切れる
このQ&Aのポイント
  • 有線マウスの接続が切れる際には、Windows10のsleep(又は休止状態)から復帰した際に問題が発生します。ディスクトップやノートパソコンのどちらでも同様の症状が発生し、USBの抜き差しやPCの再起動でも再接続できず使用できなくなります。しかし、PCの起動後には問題なく使用できることが多いです。
  • この症状の原因やPCの設定方法について教えていただけないでしょうか。エレコム株式会社の製品であるM-LS15ULBKというマウスを使用しています。
  • この問題を解決するためにはどのような対策が必要なのか、情報をお持ちの方は教えていただけますでしょうか。
回答を見る

専門家に質問してみよう