ウェブサイト標準の検証方法を通じて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 の役割の紹介

推薦する

MySQL で特定の日、月、または年のデータをクエリするためのコードの詳細な説明

今日 テーブル名から * を選択します。ここで、to_days(時間フィールド名) = to_day...

React refの使用例

目次refとは何かrefの使い方DOM要素に配置するクラスコンポーネントに配置する関数コンポーネント...

PSSHを使用してLinuxサーバーを一括管理する

pssh は、多数のマシンでのバッチ ssh 操作に使用される、Python で実装されたオープン ...

MySQL 5.7.15 のインストールと設定方法のグラフィック チュートリアル (Windows)

MySQL をインストールする必要があるため、インストール手順を以下のように記録します。 自分なり...

Mysql WorkBench のインストールと設定のグラフィックチュートリアル

この記事では、Mysql WorkBenchのインストールと設定のグラフィックチュートリアルを参考ま...

フレックスレイアウトでコンテナ内のコンテンツを維持するためのソリューションの詳細な説明

モバイル側では、フレックスレイアウトが非常に便利です。デバイスの幅に応じてコンテナの幅を自動的に調整...

MySQL データのバックアップと復元のサンプル コード

1. データのバックアップ1. mysqldumpコマンドを使用してバックアップするmysqldum...

CSS 透明ボーダー背景クリップマジック

この記事では、CSSの透明な境界線の背景クリップの素晴らしい使い方を主に紹介し、みんなと共有し、自分...

自動検索提案機能のスタイルファイルを入力します: suggestion.css

コードをコピーコードは次のとおりです。 .sugLayerDiv{位置:相対; overflow:h...

IE6/7 で絶対配置された要素が不可解に消えたりブロックされたりする問題を解決する方法

1. 絶対配置レイヤーの隣接フローティング レイヤーの幅が親レイヤーの幅と等しくなく、フロートがクリ...

Docker 経由で Spring Boot アプリケーションを公開およびデプロイするプロセスの分析

目次手動展開1.アイデアを使ってSpring Bootプロジェクトを作成する2. プロジェクトをJa...

デジタル時計効果を実現するJavaScript

この記事では、デジタル時計効果を実現するためのJavaScriptの具体的なコードを参考までに紹介し...

after疑似要素を使用して中空の三角矢印とXアイコンを実装する例

フロントエンドのデザイン案では、「X」や「>」の形をした閉じるボタンや、他の 3 方向の白抜き...

Nginx+Apache の動的および静的分離の導入の詳細な例

Nginx の動的および静的分離の概要Nginx は静的処理能力が強力ですが、動的処理能力が不十分で...

HTML テーブル マークアップ チュートリアル (43): テーブル ヘッダーの VALIGN 属性

垂直方向では、ヘッダーの配置を上、中央、下に設定できます。基本的な構文構文Top は上、Middle...