@kyanny's blog

My thoughts, my life. Views/opinions are my own.

外部ドメインの Javascript を読みまくってるページで変なことをしてるスクリプトを特定するデバッグ手順

メモ。でも、いい検索キーワードが思いつかないのでたぶんあとで探せず埋もれてしまうな。。

Firebug が必要。 NoScript があると良い。

なんか変なことがおきているページがあるとして(例えば同様の他のページで出ている特定の HTML 要素がそのページでは見えない、など)、そのページが外部の Javascript を読みまくっていてどれかが悪さをしてそうなんだけど特定しきれない、という場合に、特定していく手順。

  1. Firebug のスクリプトタブでどんなドメインのどんな Javascript をロードしているか、一覧を見る
  2. 怪しそうな(信頼できなそうな)ドメインのスクリプトの実行を NoScript で禁止していく
  3. 変なことがおきなくなるまで、 2 の手順を繰り返す
  4. 変なことをしているスクリプトがどのドメインに属するものか特定できるので、そのうちどのスクリプトのどの行が悪いのかをデバッガで追う
  5. Firebug のスクリプトタブで怪しいスクリプトを選び、ブレークポイントを入れていく。最初は一番上と一番下とかで良い。
  6. ステップインしつつ変なことがおきている箇所を目視して、変なことが起きる瞬間を見る
  7. 適当にブレークポイントを増やして範囲を狭めていく
  8. 変なことがおこる原因となっている部分が特定できる

多くの外部スクリプトを先頭から読んでいくのに比べると楽にデバッグできると思う。