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

推薦する

Vue は動的なプログレスバー効果を実現します

この記事では、動的なプログレスバー効果を実現するためのVueの具体的なコードを例として紹介します。具...

Vue router-viewとrouter-linkの実装原理

使用 <div id="アプリ"> <router-link ...

MySQL 永続統計の詳細な説明

1. 永続的な統計情報の重要性:統計は、MySQL が実行プランを生成するためのガイドとして使用され...

CSS3を使って歌詞進行テキストカラー塗りつぶし変更の動的効果を実装するアイデアの詳細な説明

音楽を再生すると、曲が進むにつれて歌詞が徐々に色づきます。色は単語ごとに変わるのではなく、左から右へ...

React tsx はランダムな検証コードを生成します

React tsxは参照用にランダムな検証コードを生成します。具体的な内容は次のとおりです。最近、t...

データベース接続プール Druid の使用手順

総合的なパフォーマンス、信頼性、安定性、スケーラビリティ、使いやすさなどの要素に基づいて、最適なデー...

MySQL 8.0.21 のインストール手順と問題解決

公式サイトをダウンロードまず公式ウェブサイトにアクセスしてMySQLをダウンロードしてくださいリンク...

Ubuntu の仮想環境に Django をインストールする方法

Ubuntu コマンドライン ウィンドウで次の操作を実行します。 1. 仮想環境をインストールする...

MySQL を使用して Excel でデータ生成を完了する方法

Excel は、データ分析に最もよく使用されるツールです。この記事では、MySQL と Excel ...

Vue プロジェクトは、コードの暗号化と難読化を実装するために webpack-obfuscator を設定します。

背景会社のコードは第三者に提供され、利用されます。ソースコードが完全に漏洩しないようにするには、提供...

LeetCode の SQL 実装 (196. 重複するメールボックスを削除する)

[LeetCode] 196.重複したメールを削除するSQL クエリを記述して、Person とい...

JPG、GIF、PNGなどのさまざまな画像形式の詳細な説明

ウェブページ上の画像が一般的に jpg、gif、png 形式であることは誰もが知っています。それらの...

最初のReactページを作成する方法

目次Rractとは何ですか?背景React スキャフォールディングJSXとは何かRractとは何です...

MySQL でタイムゾーンを表示および変更する方法

今日、プログラムが間違った時刻を挿入し、フィールドがデフォルト値 CURRENT_TIMESTAMP...