2017-12-27 54 views
0

SPAのようなページを訪問すると、コードによってwindowにいくつかのオブジェクトが追加されていることが分かります。現在のページコードによってどのオブジェクトがウィンドウに追加されたかを知るには?

ネイティブのブラウザオブジェクト/メソッドが何であり、アプリによって追加されたかを知る方法はありますか?

+0

またはhttpsの重複:// Firefoxの開発版はデフォルトでそれを行いますstackoverflow.com/questions/17276206/list-all-js-global-variables-used-by-site-not-all-defined? – xadhix

答えて

0

ウィンドウ変数を呼び出すと、基本的にその内部のすべてのコンテンツの概要が表示されます。新機能は、ウィンドウオブジェクトに追加された場合には知られているに

Object.keys(window).length; //or just Object.keys for the names 

キーの数、その彼らが前に知られている必要があります:私はあなたが現在あなたのような何かを行うことができます含まれてどのくらいの機能が知らたい場合は推測しますまたは静的な数を知っているだけである。いくつかの例を挙げるだけです。ここでは、stackoverflow上のウィンドウオブジェクトは246のキーのみを含んでいます。しかし、Googleのような何かで私は1597の鍵を数えました。だからそれは本当にあなたが使用しているアプリに依存します。

あなたができることは、キーの量が増えたかどうかと、キーを取り出して関数内の配列に移動することを確認する関数を書くことです。

あなたの質問からちょうど私が得るもの。

0

私はあなたが突然変異の観察者を探していると思います。それらを使用すると、新たに追加または削除されたDOM要素を聴くことができます。私はあなたにも属性とテキストの変更が通知されると信じています。

ここでは、それらに関する短い記事へのリンクです。 Mutation Observers

0

2つのタブがあるとします。ウィンドウに何も追加しないもの(見つけにくいもの)、いくつかのプロパティを追加したもの。

両方が開いています。クリーン1における

は行います a = Object.keys(window); JSON.stringify(a);

は結果をコピーして、ウィンドウにいくつかのプロパティを追加したタブにそれを移動します。その後、a = JSON.parse(<Ctrl + v>)b = Object.keys(window)

そして最後の操作を行います。 c = b.filter(p=>a.indexOf(p)=== -1)

cは、そのタブでウィンドウオブジェクトに追加されたすべてのプロパティの名前が含まれています。

HOT TIP:windowのデフォルトプロパティが([default properties呼ば])別のプロパティに分離されていることが a screenshot of how it works

に関連
関連する問題