スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

マイクロソフトの身勝手に対処するまじない if(document.all) 処理;

 私がパソコンに触れたのは今から30数年前のTK-80というNECが発売したボードマイコンだった。もちろん当時の私のサラリーで買える代物ではないので、事業をしていた兄が買ったものをさわらせてもらったのが最初だ。
 その後、NEC、Fujitu、Sharp、IBMなどがそれぞれの特徴を生かしたBasicでうごくパソコンを発売していたが、NECのPC9801の全盛期には、N88-Basicがパソコン言語の代名詞になって、独自の路線をはしりつづけた。
 そのあとに訪れたのがMS-DOSの時代だ。この時代もやはりまだPC9801が力を持っていて、標準化とは、98に合わせるというイメージがあった。そして、ウインドウズ98が発売されて、いよいよマイクロソフト王国の時代がやってきたわけだ。
 Windows3.1のお粗末さにあきれて、私はアップル社のマックに変更したが、次第にウインドウズも使いやすくなり、マイクロソフトの商売上手に、マイクロソフトが標準ですよという今の時代が来た。
 パソコン講座と言えば、ウインドウズでうごくワードやエクセルをどう使うのかを教えるところとなった。

 しかし、インターネットの時代には、携帯などのさまざまな端末でアクセスすることが多くなり、文字コードもユニコードに標準化されていったが、マイクロソフトのOSでは、内部処理はユニコードで動いているのに、アプリケーションのユニコードへの最適化は遅れている。
 マイクロソフトのパソコン同士でやり取りする分には問題ないのだけれど、他機種とのやり取りをあまり前提にしていないウインドウズのメールソフトでは、モバイルフォンから返信したメールなどは、頻繁に文字化けがおこり、わざわざ表示コードを変えないとまともに読めないのが実情だ。

 それと同じことが、HTMLの世界でもある。マイクロソフトは独自のフィルターという機能を追加しているが、インターネットエクスプローラのみでしか動作しないようにしている。
 インターネットのWEBページ閲覧するために、SafariやFirefox、Operaなどのアプリを使っている人も少なくないが、スライドショーのトランジションなどをマイクロソフトのフィルターで記述したソースは、IE以外では固まってしまう。そこで、IE以外のアプリでマイクロソフトのフィルターを起動しないようにする方法を簡単に実現できるのでここで書いておく。

 まず、動作しているアプリがインターネットエクスプローラかどうかを判断する。そして、IEのばあいだけ、処理を実行しようとするものだ。

まず画像のスタイルにマイクロソフトのフィルターが設定されている画像のIDが 画像ID名 とすると

画像ID名.filters[0].apply();
画像ID名.src="新しい画像のURL";
画像ID名.filters[0].play();

としていたものを

if(document.all) 画像ID名.filters[0].apply();
画像ID名.src="新しい画像のURL";
if(document.all) 画像ID名.filters[0].play();

とif(document.all)をIEのみの処理コードに付け加えてかえるだけでいい。
もしIEでない場合には画像のURLを変えるだけの処理になるわけだ。

これでマイクロソフトのフィルターが設定されたスライドもiPadやマックでみることが出来るようになる。
スポンサーサイト
FC2カウンター
プロフィール

dongwcat

Author:dongwcat
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。