1. ホーム

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を判断することができます。