初心者の質問ですが、私のウェブサイトにロードされたすべてのJSファイルの完全な名前のパスを持つリストを取得する最良の方法は何ですか?ウェブページにロードされたすべてのJSファイルのリストを取得
私はページwww.mypage.comを持っています - このページにロードされたフルネームパスを持つすべてのJSファイルのリストを取得したいと思います。
初心者の質問ですが、私のウェブサイトにロードされたすべてのJSファイルの完全な名前のパスを持つリストを取得する最良の方法は何ですか?ウェブページにロードされたすべてのJSファイルのリストを取得
私はページwww.mypage.comを持っています - このページにロードされたフルネームパスを持つすべてのJSファイルのリストを取得したいと思います。
そのようなことは、ECMAScriptの6のサポート付きのモダンなブラウザで行います。ただし、一部のスクリプトでは、適切なタグを削除して、そのタグをそのリストから隠すことがあります。
var jsFilePaths = Array.prototype.slice
.apply(document.querySelectorAll('script'))
.filter(s => s.src)
.map(s => s.src);
ラムダがオプションでない場合は、通常のfor
サイクルを使用してください。
XHRやJSONPのようなデータ読み込みメソッドを使用して読み込んだ後、eval
またはnew Function
まで実行したスクリプトも表示されません。あなたがレコードXHRsを傍受し、する必要があり、あなたはすべてのXHRsが行われ、集中場所を持っていない場合は
、あなたはおそらく、検索応答があるかどうかを確認するXMLHttpRequest
をオーバーライドし、そのreadystatechange
イベントにいくつかのロジックを追加する必要があります。実行可能なJavaScriptについて詳しくは、How to easily listen for xhr requests with javascript?に関するこの質問を参照してください。
あなたは<script>
がDOMに追加されているか、そのsrc
属性を操作したとき、すべてのケースを傍受する必要がある場合は、より多くの情報のためan MDN articleを参照して、DOM MutationObserver
を使用することができます。
さらに、document.write
を傍受して、さらにインラインスクリプトを追加するスクリプトがあるかどうかを確認する必要があります。さらに、<img/>
のようなスクリプト以外の要素も、よく知られているXSSハック<img src="http://nonexistent.url/x.png" onerror="alert('xss!')" />
のようにスクリプトを実行することがあります。
さらに、このようなXHRをインターセプトし、特にDOM突然変異イベントおよびDOM突然変異監視の使用がページのパフォーマンスに悪影響を及ぼし、時には顕著になることに注意することが重要です。
Sooo、不可能、そうですか?それは、この答えはかなり意味がないと思いますか?ちょうどコメントを投稿してください。 – Amit
@Amit。親愛なる、OPを助ける私の謙虚な努力を許してください。いいえ、それは不可能ではありそうもありません。むしろやりにくいです。私は私のポストに情報を追加しました。しかし、私の最善の知識では、StackOverflowの答えは、常に完全なコードソリューションではありません。 –
それははるかに良い答えです。個人的に私はまだ強調する最も重要なことは、これを達成するための保証された方法がないという事実ですが、あなたは最も重要な部分をカバーしました。 – Amit
現在のページまたはすべてのページについては、現在のページ、開発ツールを開いて、ネットワークタブを見て、スクリプトをフィルタリングします。またはquerySelectorAllを呼び出し、コレクションをループします。サイト全体であれば、それはクモを書くことを意味します。 – epascarello
現在のページ...私はそれをしましたが、すべてのデータを同時にコピーする簡単な方法はありませんでした。 –