ホームページ  >  記事  >  ウェブフロントエンド  >  Flash-SWFObject_html/css_WEB-ITnose に HTML を挿入するための完全な互換性と完璧なソリューション

Flash-SWFObject_html/css_WEB-ITnose に HTML を挿入するための完全な互換性と完璧なソリューション

WBOY
WBOYオリジナル
2016-06-24 12:03:22910ブラウズ

友人は、Flash の埋め込みの問題は非常に単純だと思うかもしれませんが、いくつかの特定の問題となると、それほど単純ではありません。たとえば、IE ブラウザで FLASH を傍受する仮想ボックスを削除するにはどうすればよいでしょうか。 FF、OP、NSなど他のブラウザにも対応していますか?コードは W3C 標準に準拠していますか? ?お待ちください

一緒に学ぶために他の人のドキュメントを以下に再投稿します

1. 従来の方法








この方法は、object タグと embed タグを使用して埋め込む方法です。注意して見ると、object の多くのパラメータと、embed 内の多くの属性が繰り返されていることがわかります。ブラウザーの互換性のために、一部のブラウザーはオブジェクトをサポートし、一部のブラウザーは埋め込みをサポートするため、Flash パラメーターを変更する場合は両方の場所を変更する必要があります。

この方法は常に Macromedia の公式方法であり、Flash の機能を最大限に活用し、互換性の問題はありません。しかし、現在はそれほどうまく機能しません。互換性の理由から埋め込まれている埋め込みタグが W3C に準拠していないため、検証に失敗します。もちろん、ルールや規制を気にしないのであれば、それは別の問題です。

さまざまな理由により、Microsoft は sp2 以降、IE の ActiveX の使用モードを制限しました。つまり、ページ上の ActiveX には仮想ボックスがあり、通常の操作ではユーザーが 1 回クリックする必要があります。 Flash は ActiveX として Web ページに埋め込まれているため、JS を介して Flash を埋め込むことのみがこの問題の影響を受けます。

ブラウザの Flash プラグインのバージョンが不十分な場合、または swf ファイルを正常に表示できない場合、または ActiveX のインストールを確認するボックスが表示されます。多くのユーザーにとって。

2. JSを使った埋め込み方法

JSでの埋め込みにはそれぞれに良い埋め込み方法とそうでない埋め込み方法があります。 document.write を使って直接書く人もいますが、正直この方法は検証のためのハック要素が多すぎて JS の利点が反映されていないように感じます。私は、優れた JS 埋め込みスクリプトは、Flash が持つべき機能を保証することに基づいて、JS を活用するためのバージョン検出機能を備えている必要があり、アクセシビリティの問題 (つまり、ユーザーが Flash コンテンツを閲覧できない場合や無効にしている場合) を解決できる必要があると考えています。 JS を使用する場合はどのように処理する必要がありますか)、再利用が簡単である必要があります。

ここで説明するのは SWFObject ソリューションです。

「SWFObject」は Javascript を使用して Flash を挿入します。これには多くの利点があり、コードはシンプルで、「コントロールをアクティブ化するにはここをクリックしてください」というプロンプトは表示されません。 IE6 では、W3C 検証に合格できます。これは、フラッシュを挿入する従来の「オブジェクト」方法とは異なります。

新しい 2.x バージョンでは、SWFObject の最も単純な呼び出しに必要な文は 1 つだけで、ページが読み込まれるのを待つ必要はありません。つまり、この文をページ上のどこにでも書くことができます。以前のバージョンよりもはるかにシンプルになっています。シンプルで一般的に使用される呼び出し方法をいくつか見てみましょう:

1. 最も単純で基本的な、Flash を挿入したい限り使用できる古典的な文です。

< div id ="swfid" >

< スクリプトタイプ ="text/javascript" >/ スクリプト > "text/javascript" >
swfobject.embedSWF( " test.swf " 、 " swfid " 、 " 300 " 、 " 120 " 、 " 9.0.0 " 、 " ExpressInstall.swf " );

注: SWF ファイルを挿入するには、メソッド embedSWF?? を呼び出します。パラメータは、@swf ファイルのロードに使用されるコンテナーの ID (div など) です。 @flash の高さ (もちろん、ここでは幅と高さを 100% などのパーセンテージで表すことができます); @フラッシュを正常に再生するために必要な最小バージョン; @要件より低いバージョンの場合は、swf ファイルを実行します。 . ここで、このフラッシュを使用して、フラッシュ プラグインの最新バージョンの公式ダウンロードにジャンプします。 (このパラメータは省略可能です) 複数のフラッシュを同じページの異なる場所に挿入する場合は、上記のステートメントを繰り返し、異なるコンテナ ID を使用します。

2. パラメータ、変数、属性を swf ファイルに渡すためのメソッドの呼び出し
< script type ="text/javascript" src ="swfobject.js" > "text/javascript" >

// 1. Json を使用して変数、パラメーター、プロパティを初期化します

var flashvars = {
name1: " hello " ,
name2: " world " ,
name3: " foobar "
};
var params = {
tent2 "
};
swfobject.embedSWF( " test6_flashvars.swf " , " content2 " , " 300 " , " 120 " , " 6.0.0 " , "expressInstall.swf " , flashvars, params,属性); " " vars, params, Attributes);
// 3. だらだらせず、簡潔かつシャープに 1 文だけ、後ろに直接記述します
swfobject.embedSWF( " test6_flashvars.swf " , " content5 " , " 300 " , " 120 " 、 " 6.0. 0 " 、 " ExpressInstall.swf " 、 {name1: " hello " 、name2: " world " 、name3: " foobar " }、 {menu: " false " }、 {id: " DynamicContent5 " ,name: " DynamicContent5 " } );



SWFObject Google オープン ソース プロジェクト http://code.google.com/p/swfobject/
SWFObject (バージョン 2.2) ダウンロード アドレス: http:/ /swfobject.googlecode.com/files /swfobject_2_2.zip
SWFObject (バージョン 2.0) ダウンロード アドレス: http://swfobject.googlecode.com/files/swfobject_2_0.zip
SWFObject の公式ブログ: http://blog.deconcept.com /swfobject/
SWFObject 2.0 公式ドキュメント (中国語) http://www.admin10000.com/resource/1.html



http://www.admin10000.com/Document/5.html にアクセスしてください








声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。