新・元地方の中規模印刷会社で苦悩するWebデザイナー改めWebディレクターの日記

自由な20代、窮屈な30代を経て、遂に40代になっちまったWebディレクター&パソコン講師の覚書と思う言(こと)。略称【ちほちゅう】

*

一度見たFlashを見せない方法 2

   

  • このエントリーをはてなブックマークに追加

1年以上前の記事です。内容が古い可能性があります。

一度見たFlashを見せない方法 (2007年11月4日)

ただし、この方法でもブラウザについている戻るボタンを押されたら元も子もないのですが。

ということもあって、
結局リファラでの制御はやめてクッキーを使ってFLASHを制御することにしました。
以下、それに関してのスクリプト及び覚書です。

スポンサーリンク
 

まず、トップページ(index.html)の最後のほうに以下のスクリプトAを書きます。

document.cookie = "visiting";

(Javascriptです。コメントアウトやscriptタグは省略しています)
</body>の前あたりがいいと思います。
これで、該当ページのクッキーの先頭にvisitingが書き込まれます。

さらに、FLASH読み込み部分のスクリプトも書き換えます。
ゼロから作るのはめんどくさいのでリファラ制御のときのスクリプトを拝借してちょっと修正。
■元スクリプト

ref = document.referrer;
if(ref.match(/domein/)!="domein"){
writeFlash('_swf=Flash[A].swf','_width=800','_height=400')
}else{
writeFlash('_swf=Flash[B].swf','_width=800','_height=400')
}

1行目の「ref = document.referrer;」を「cook = document.cookie;」に書き換えて、
今までリファラを取得していた部分をクッキーに変えます。さらに、
2行目の「ref.match(/domein/)!=”domein”」を「cook.match(/visiting/)!=”visiting”」に変えて、
クッキー内に「visiting」という文字列があるかないかで振り分けます。

■完成スクリプトB

cook = document.cookie;
if(cook.match(/visiting/)!="visiting"){
writeFlash('_swf=Flash[A].swf','_width=800','_height=400')
}else{
writeFlash('_swf=Flash[B].swf','_width=800','_height=400')
}

フラッシュ表示用のスクリプトBとクッキー書き込み用のスクリプトAが逆にならないようにしてください。
逆にしちゃうと常にオープニングフラッシュが表示されなくなってしまいます。

ちなみに、この方法だとブラウザを閉じない限りオープニングフラッシュは表示されません。
ただ、safariでは動作しなかった(クッキーの仕組みが微妙に違う?)ので、

リファラ制御とあわせて使うといいかもしれません。

■最終形スクリプト

ref = document.referrer; cook = document.cookie;
if(ref.match(/domein/)!="domein" && cook.match(/visiting/)!="visiting"){
writeFlash('_swf=Flash[A].swf','_width=800','_height=400')
}else{
writeFlash('_swf=Flash[B].swf','_width=800','_height=400')
}

が、しかし、これでもSafariはダメでした。
あとはif文を入れ子にする方法もあるけどめんどくさいので保留です。

 - プログラミング, ユーザビリティ

アドセンス広告メイン

Message

メールアドレスが公開されることはありません。

  関連記事

no image
いいこと

1年以上前の記事です。内容が古い可能性があります。いいこと思いつきました。

遂にSuica(スイカ)で全国どこでもいけるようになりました

1年以上前の記事です。内容が古い可能性があります。JR東日本の電子マネーSuic …

「Message bird(メッセージバード)」で機種変更をする方法

1年以上前の記事です。内容が古い可能性があります。以前、現代の瓶詰めの手紙として …

新foursquare(フォースクウェア)でチェックインしようとするとSwarm(スワーム)が立ち上がる

1年以上前の記事です。内容が古い可能性があります。位置情報SNSの代表格、「fo …

カスタムフィールドとカスタム投稿で記事投稿フォームを使いやすく 2 – 「Custom Post Type UI」の巻 【ワードプレス】 #wp

1年以上前の記事です。内容が古い可能性があります。1. Custom Field …

WordPressでテーマカスタマイズ、ヘッダー(header.php)、フッター(footer.php)で消してはいけないプログラム #wp

1年以上前の記事です。内容が古い可能性があります。自分でカスタマイズしたWord …

「Google」BUZZ(バズ)オープンに併せてリアルタイム検索もオープン?

1年以上前の記事です。内容が古い可能性があります。GoogleがBUZZ(バズ) …

背景(バックグラウンド)のイメージをモニター(ウインドウ)のサイズによって変える(レスポンシブルデザイン)Webサイトの作り方【CSS3コーディング】

1年以上前の記事です。内容が古い可能性があります。今、作っている某総合福祉センタ …

将来、ツイッターやLINEから「119」番通報ができるようになる

1年以上前の記事です。内容が古い可能性があります。まあ、当然っちゃあ当然ですよね …

東京ディズニーリゾートチケットはネットで購入が楽でいい【チケットプリント編】

1年以上前の記事です。内容が古い可能性があります。1. ユーザー登録編&nbsp …

血液型オヤジ