ウェブサイト標準の検証方法を通じてFlashページを共有する方法

ウェブサイト標準の検証方法を通じてFlashページを共有する方法
1. 埋め込みは違法です
<embed> タグは Netscape のプライベート タグです。<embed> タグは広く使用されていますが、HTML3.2、HTML4.0、XHTML1.0 に至るまで W3C には含まれていませんでした。 <embed> タグを使用するページは W3C 検証に合格しません。

2. オブジェクトは使用する必要があります
W3C は <object> タグを推奨しています。 XHTML2 でも、<img> は <object> に置き換えられます。 <object> メソッドを使用してフラッシュを挿入するコードは次のとおりです。

<object type="application/x-shockwave-flash" data="test.swf" width="200" height="100"> <parm name="movie" value="test.swf /> </object>
ただし、この方法はIE5-IE6/Winでは正しく表示されません(連続再生できず、再生する前にダウンロードする必要があります)が、それより低いバージョンでは正しく表示されます。その後、連続再生の問題は、最初に小さなフラッシュ ファイルを呼び出し、次に大きなフラッシュ ファイルを埋め込むことで解決されました。ただし、IE5 以上のバージョンでは、フラッシュが表示されない場合があります。

3. 現在の暫定措置
では、標準に準拠し、すべてのブラウザで Flash を正しく表示するにはどうすればよいでしょうか?マクロメディアの Web サイトはどのようにして W3C 検証に合格したのでしょうか?

一部のデザイナーは、JavaScript を使用して不正な <embed> タグを非表示にすることを考えました。

<script type="text/javascript"> if (navegiator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] { document.write(''<embed src="test.swf" ...
現時点ではこれがより良い解決策です。フラッシュを挿入する必要がある場合は、js を使用して呼び出します。この方法は、W3C 検証プログラムを欺き、ページを検証に合格させることができます。しかし、それは単なる「不正行為」であり、実際には基準を満たしていません。

Macromedia はどうやってそれを実現するのでしょうか? 次のコードをご覧ください:

<!-- $RCSfile: FlashDetection2k.pm,v $ $Revision: 1.68 $ : ブラウザの Accept ヘッダーには Flash 6,0,65,0 以上がインストールされていることが示されています。したがって、この Flash 6 ムービーは問題ありません。どうぞご覧ください。 -->
妥協的なアプローチを採用しています。

(1)まず、JavaScriptを使用してブラウザとFlash Playerのバージョンを確認します。
(2)異なるバージョンに応じてバックグラウンドでHTMLコードを動的に生成する。
簡単に言うと、<object> メソッドがデフォルトで使用されます。ブラウザがオブジェクト "application/x-shockwave-flash" の MIME タイプを処理できない場合は、子要素 <embed> を挿入します。正直に言うと、これは js を使用して <embed> メソッドを隠すのと似ており、これも「不正」な方法ですが、現時点で実行できる最も標準的で完璧なアプローチです。

本当に <embed> を放棄したいのであれば、IE ブラウザが <object> をより適切にサポートするようになるのを、おそらく Longhorn がリリースされるまで待つしかありません。

<<:  MySQL シリーズ II マルチインスタンス構成

>>:  HTML doctype の役割の紹介

推薦する

ico ミラー コードを HTML に追加します (favicon.ico はルート ディレクトリに配置されます)

コード:コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC &...

訪問者にあなたのウェブサイトを覚えてもらうための3つの便利なコード

訪問者があなたのウェブサイトを覚えておくのに役立つ3つの便利なコード。お気に入りに追加するためのヒン...

HTML におけるいくつかの特殊属性タグの使用法の紹介

以下の属性はブラウザとの互換性があまりありません。 1.transform:rotate(45度) ...

クロスドメインの問題を解決するためのNginxの実用的な方法

フロントエンドとバックエンドを分離し、nginxを使用してクロスドメインの問題を解決するフロントエン...

MySQL8の再帰メソッドの使い方を教える

以前、カスタム関数を使用して MySQL でツリー構造を再帰的にクエリする方法についての記事を書きま...

overflow:autoの使い方の詳しい説明

本文に入る前に、オーバーフローとフレックスレイアウトの使い方をいくつか紹介します。 overflow...

すべてのウェブ開発者が知っておくべき61のこと

通常、全員のスピーチを最初から最後まで読む必要があります。ただし、Stack Overflow には...

vue-routerのマッチングに基づいてパンくずリスト機能を実現する

この記事では主にvue-routerのmatchedをベースにしたbreadcrumb機能を紹介し、...

Web スライスとは何ですか?

IE8 の新機能 Web スライス (Web スライス) Microsoft は 3 月 20 日...

mysql: [エラー] 不明なオプション '--skip-grant-tables'

MySQL データベースがエラー 1045 (28000): ユーザー 'ODBC'...

擬似分散グラフィックを実現するための VMware 構成 Hadoop チュートリアル

1. 実験環境シリアルナンバープロジェクトソフトウェアとバージョン1オペレーティング·システムCen...

Centos7 FFmpeg オーディオ/ビデオ ツールのインストールに関する簡単なドキュメント

ffmpeg は非常に強力なオーディオおよびビデオ処理ツールです。公式 Web サイトは http:...

CSSスタイルとセレクターの使い方

HTML で CSS を使用する 3 つの方法: 1. インラインスタイル: 要素のスタイル属性を通...

nginx を介して方向プロキシを実装するプロセスの図

この記事は主に、nginx を介して方向プロキシを実装するプロセスを紹介します。この記事のサンプル ...

VMware 仮想マシン ブリッジ モードでインターネットにアクセスできない問題を解決する方法

ステップ1: ローカルイーサネットプロパティをチェックして、VMwareブリッジプロトコルがインスト...