まえがき 私がこの記事を書いた主な理由は、チームリーダーによって提起された新しい要件のためです - ブラウザを使用してコンピュータのカメラを呼び出し、瞬時に写真を撮る機能を実現する。インターネットでさまざまな情報を調べましたが、最終的には何らかの理由で、Flash プラグインを使用して PC のカメラを呼び出すことにしました。もちろん、この要件は B/S アーキテクチャに基づいているため、フロントエンドの HTML ページにどのように埋め込むかを考えています。
余談 もちろん、ここではカプセル化は考慮されていません。主に最初に実装するためのもので、その後の作業は業務に応じて抽象化され、一般的にカプセル化されます。コンポーネント。さて、早速、重要なポイントに焦点を当ててみましょう。
埋め込みプラグイン オブジェクトと埋め込みタグの使用 コード表示
< ;div スタイル ="margin-top:-30px;margin-left:-120px;"> codebase="http :// fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="490" height="390" id="無題-1 " align= "middle"> type="application/x-shockwave-flash" pluginspage=" http://www.macromedia.com/go/getflashplayer" />
このメソッドでは、Object タグと Embed タグが使用されており、object の多くのパラメータと embed の多くの属性が繰り返されていることがわかります。ブラウザの互換性。一部のブラウザはオブジェクトをサポートし、一部のブラウザは埋め込みをサポートします。そのため、Flash パラメータを変更する場合は両方の場所を変更する必要があります。この方法は常に Macromedia の公式方法であり、互換性の問題を発生させることなく Flash の機能を最大限に保証します。
しかし、今見てみると、まだ大きな問題を抱えています。
まず、互換性のために埋め込まれた埋め込みタグが W3C 仕様に準拠していないため、検証に失敗します。もちろん、ルールや規制を気にしないのであれば、それは別の問題です。
次に、さまざまな理由により、Microsoft は sp2 以降、IE の ActiveX の使用モードを制限しました。つまり、ページ上の ActiveX には仮想ボックスがあり、通常の操作ではユーザーが 1 回クリックする必要があります。 。 Flash は ActiveX として Web ページに埋め込まれているため、JS を介して Flash を埋め込むことのみがこの問題の影響を受けます。
繰り返しになりますが、ブラウザの Flash プラグインのバージョンが不十分な場合、または swf ファイルが正常に表示されない場合、または ActiveX のインストールを確認するボックスが表示されます。多くのユーザーにとって迷惑です。
オブジェクトタグのみ使用
コード表示
> width="550" height="400" " alt= "" /> このメソッドは Object タグのみを使用します。これは実際には Flash です埋め込みタグがないので、ブラウザの互換性も良好ですが、まだ問題があります。ターゲット SWF は、IE でのストリーム機能を確保するために必要です。Flashvars を介してパラメータを渡したり、ページの JS を操作したりする必要がある場合は、次に、非常に面倒になります。最初の方法と同様に、バージョン検出のない ActiveX プロンプト ボックスも表示されます。
繰り返しになりますが、一部の古いバージョンのブラウザー (Safari の古いバージョンなど) はこの方法に同意しません。
埋め込みタグのみを使用
コード表示