Author:sexykent
オイルショック+ベビーブーム世代の元デザイナー。芸術や音楽に早くから目覚めたが、才能を伸ばすほど追求せず。いいかげん我とアートの関係を問いただしたくなった矢先、一切のデザイン生命を絶ちきる。そして今、仕事と生き甲斐をリセットして歩んでいる。最近はNike + iPod Sport Kitを利用して体力作りナンゾを画策中。






Apple Store(Japan)



Apple Store(Japan)

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

Mac ソフトのことなら act2.com

Sexy Life (・_・) Official Blog♪
【sexy】普通、色気しか連想できないワードだが…僕が僕であるために、男であることを誇りに思える生き方こそSexy。Apple Mac・iPod、コペン、音楽情報を織り交ぜながらの、多趣味な好奇心雑学満載のMen's Macなブログ♪
Apple Store(Japan)
Webの体裁をめぐるアレコレ その1「IE7のFlash」
この前ゲットしたホームベーカリーで、念願の「全粒紛パン」を作ったsexykentです(・_・) 全粒紛を入れると、膨らみに影響するので、100%全粒紛ではないのです。せいぜい、使用の小麦粉の定量のせいぜい50%ぐらいまで、全粒紛の袋に書いてありました。半分とかで本当にダイジョウブ?と半信半疑でしたが、20%配合とかでもかなりスゴイです…オツージ :*:・( ̄∀ ̄)・:*: まず腹が張って屁が出やすくなりますな。まぁ、これだけが原因か分かりませんケド…納豆ダイレクト食いとか、デトックスジュースを飲んでますからね。そんなわけで、全粒紛の割合を少し減らしましたとさ。

さて、Webの表示方法をめぐって俺的に少し難儀した。…というのは、やっぱり原因はInternet Explorerだ。MacだMacだと騒いでいても、市場シェアはWindowsに叶わない。それも、まぁIE6まではなんとか「調整」ぐらいでダイジョウブだったんだが、IE7からは挙動が変わってしまったので、何とかする必要があったのだ。自動でIE7にアップグレードされるパソコンが殆どらしいからさ。

で、なにがどういうわけかと言うと、

「IE7でFlashの挙動変更」

という、技術的には後退と思える仕様変更だ。つまり、アメリカの裁判社会で、「この技術は勝手に使わないでよね」という訴えを起こされたらしいのだ。Flashがというよりも、Microsoftが自動で再生する仕組みをIEに組み込んだ所を争点としているらしい。訴えた企業は、企業としての実態が有るようなところではなく、とにかくライセンスを先取りして、ライセンス違反を指摘して金をふんだくるという、面倒くさい会社だ。そんな銭金の問題で、世界中が麻痺するという社会になってしまったのだ。

まぁ、これは少し前から言われていたことで、IE7からは「クリックするとこのコントロールをアクティブにして使用します」というのがいちいち出る上に、実際にFlashをクリックしないと使えない。んもう!!(-_-メ)

それを回避するために「JavascriptでFlashを間接的に呼び出す」方法をとるのが手っ取り早いようだ。ただし、それは「WIndowsのIE7のため」なので、その他のブラウザ環境に影響が出ないようにしなくちゃならない。大きく使うテクニックとしては二つ。これから修正しようと思う人は参考にしてくらはい (*^ー^)ノ

1●Win+IE7用にFlash張り替え作業をする
2●ブラウザ判定→「Win」の「IE」なら、専用のページにジャンプ

まず、今まで作ったページを「複製」。それで、ファイル名も分かりやすいように「〜_ie.html」などと追加する。そもそも俺のように、「Javascriptを記述するって??」なんて人の場合、次からのハードルが高くなる。


「Javascriptの外部ファイルを作る」

これは、「外部javascript名.js」という名前のファイルだ。だから?ああ、ゴメンよ、俺も詳しくは分からない。とりあえず、「テキストエディット」みたいな簡易ワープロソフトを起動する。そして、下記の内容をコピって修正したまえ。

function 命令名()
{
document.write('<object classid="clsid:〜" height="swfの縦サイズ" width="swfの横サイズ" >\n');
document.write('<param name="scale" value="noborder" />\n');
document.write('<param name="movie" value="swfファイルの場所" />\n');
document.write('<param name="quality" value="best" /> />\n');
document.write('<param name="play" value="true" /> />\n');
document.write('</object> \n');
}

もちろん、赤字で書いた所はそれぞれの環境で書き直す部分さ。青字の部分は、Flashのバージョンだとかの情報だから、もともと貼り付けてるFlashのHTMLソースから引っ張って入れ替えてくれ。

「〜_ie.htmlを修正する」

まず、今作った外部.jsを認識させる作業で、HTMLのヘッドタグ内に以下を埋め込む。

<head>……
<!-- 外部FLASH設定ココから-->
<script src="外部javascript名.js" type="text/javascript"></script>
<!-- ここまで-->
……</head>

そんでもって、実際に<embed>とか<object>で囲まれたSWF貼り付けの部分を下記に入れ替える。

<script type="text/javascript"> 命令名();</script>

つまり、Javascriptの命令(指定のFlashを表示という単純なもの)を外部ファイルで定義し、ソレを呼び出すと言う仕組みだ。俺も、色んなトコロから情報をあさって繋げただけさ。

「元の〜.htmlにブラウザ判定を追加する」

これも、HEADタグの内側に埋め込むのさ。

<SCRIPT LANGUAGE="JavaScript">
<!--
var IE = (navigator.appName.indexOf("Explorer") != -1);
var OS = (navigator.userAgent.indexOf("Win") != -1);
var OP=(navigator.appName.indexOf("Opera") != -1);

if (OP){
location.href = "〜_ie.html";
} if ( IE && OS ){
location.href = "〜_ie.html";
}
//-->
</SCRIPT>

俺の観察によると、生意気にOperaも似たような挙動をするのでIEと同じように処理させるのがいいようだ。で、Operaの場合も〜_ie.htmlにジャンプさせるようしてある。これで、「Operaか、WindowsのIEは指定ページへ飛ぶ」という仕組みになる。ちなみに、Mac版のExplorerはウチの環境ではうまく動作しないので追求を諦めた。
この記事に対するコメント

この記事に対するコメントの投稿












この記事に対するトラックバック
トラックバックURL
→http://sexylife.blog52.fc2.com/tb.php/1211-4514e292
この記事にトラックバックする(FC2ブログユーザー)

「ie7」についての最新ブログのリンク集

ie7 に関連するブログ記事の検索結果や関連ワードをまとめてみると… 話題のキーワードでブログサーチ!【2008/02/14 13:04】