ActiveXObjectに関連する互換性の問題(ブラウザ固有のプロパティ)
2022-02-23 05:57:27
この問題も、javascriptでファイルに対するいくつかの操作について学んだ時にさかのぼります。
すべてのフロントエンドの人のために、様々なメソッドを含むFileオブジェクトについて明確にする必要がありますので、私はそれらすべてを説明しません、例えば、彼女はFileSystemObjectオブジェクトのGetFile()メソッドを介して作成され、ここで追加、削除、変更、およびチェックが単独で理解することはあまり明確ではありません。
上記から話を進めると、Fileオブジェクトを作成する場合、一般的にはfsoオブジェクト変数を定義してFileSystemObjectオブジェクトを取得し、上記のメソッドを呼び出す、という文章になる。
var fso,f;
fso=new ActiveXObject("Scripting.FileSystemObject") を使用します。
f=fso.GetFile(xxx);
このActiveXObjectオブジェクトは、有効になっているため表示され、Automationオブジェクトへの参照を返します。
使用方法(ここに再現)。
newObj = new ActiveXObject( servername.typename[, location])
ActiveXObjectオブジェクトの構文には、以下の部分があります。
ここで、newObjは必須です。ActiveXObjectに割り当てる変数名です。
servernameは必須項目です。オブジェクトを提供したアプリケーションの名前。
typenameは必須です。作成するオブジェクトのタイプまたはクラス。
locationはオプションです。オブジェクトが作成されるウェブサーバーの名前。
Automationサーバーは少なくとも1種類のオブジェクトを提供します。例えば、ワープロソフトはアプリケーションオブジェクト、ドキュメントオブジェクト、ツールバーオブジェクトを提供することができます。
ActiveXコントロールの作成に対応しているのはInternet Explorerだけなので、他のブラウザにはないものとしてActiveXObject関数がある。ウィンドウ・オブジェクトがActiveXObject関数を持っていれば、現在のブラウザがIEであることがはっきりわかるので、ブラウザがActiveXコントロールをサポートしているかどうかを判断するのにも使えるのです。他のブラウザの場合は、この関数を使うことはお勧めしません(意味がないと思います)。
拡張機能です。どのブラウザが現在のブラウザかを判断するには?
要するに、各ブラウザ固有のプロパティを列挙したものです。
ご存知のように:今日、より一般的に使用されているのは
Firefox(ファイヤーフォックス)。
オペラ、そして
サファリ(アップルのウェブブラウザ)、および
Chrome(グーグルクローム)。
ここでは、各ブラウザの比較的特徴的な機能について説明します(今はカーネルギャップの話はせず、主に該当する機能から分析します)。
Firefox の DOM 要素には getBoxObjectFor 関数があり、DOM 要素の位置とサイズを取得するために使用されます (IE の対応する関数は getBoundingClientRect 関数です)。これはFirefox独自のもので、これを判断することで現在のブラウザがFirefoxであることを知ることができます。
Opera には、専用のブラウザフラグである window.opera プロパティが用意されています。
Safariには他のブラウザにはないopenDatabase関数があり、Safariを判断するフラグとして使用できます。
ChromeにもMessageEvent関数がありますが、Firefoxにもあります。ただし、ChromeにはFirefoxのgetBoxObjectFor関数がないのが良い点で、この条件でも正確にChromeを判断することができます。
関連
-
Xcode has Expected unqualified-id エラー
-
ImportError の解決に成功しました。必要な依存関係 ['numpy'] がありません。
-
メンバ関数fetch()のNULLでの呼び出し
-
Uncaught ReferenceError: require is not defined at ES6.js:1 (anonymous) @ ES6.js:1
-
[UE4公式ドキュメント翻訳】Unreal Engine 4 For Unity Developers (UE4、ユニティデベロッパーズ向け)
-
php_network_getaddresses: getaddrinfo が失敗した 原因
-
は属性_TensorLikeを持たない
-
C# データベース操作エラー この接続に関連する開いているデータリーダーがすでにあり、閉じる必要があります。
-
Python3_TypeError: 'list' オブジェクトは呼び出し可能ではありません。
-
Eclipseのエラーです。未処理のイベントループ例外 Java ヒープスペース
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ImportError: Missing required dependencies ['numpy'] 最初のインポートpandas問題に対する解決策。
-
cenos upgrade g++ gcc(cc1plus: error: unrecognized command line option "-std=c++11")
-
Eclipseのパッケージエクスプローラーを開く
-
プログラム ld の解決策の 1 つが 1 の終了ステータスを返した
-
リソースの読み込みに失敗しました:サーバーは403(Forbidden)のステータスで応答しました。
-
Eclipse (JDK設定済み) インポートプロジェクトエラー...。...型に解決できません...
-
Eigen::Block... ...削除された関数を参照しようとしています Solution
-
ノード名とサービス名に対する解決策が提供されていない
-
STM32でのビットバンド動作
-
android Spinner で OnItemSelectedListener がデフォルトで一度自動的に呼び出されないようにした。