Chrome Dev Tools-JavaScriptを変更して再読み込み


192

ページのJavaScriptを変更し、変更されたJavaScriptファイルを再読み込みせずに(その結果、変更を失うことなく)ページを再読み込みすることは可能ですか?

回答:


216

これは少し回避策ですが、これを実現する1つの方法は、操作するJavaScriptファイルまたはブロックの先頭にブレークポイントを追加することです。

その後、リロードすると、デバッガーはそのブレークポイントで一時停止し、ソースに必要な変更を加えてファイルを保存し、変更されたコードでデバッガーを実行できます。

しかし、誰もが言ったように、次のリロードは変更がなくなります-少なくとも、少し変更されたJSクライアント側を実行できます。


10
これが私が探していた答えであることがわかりました。JavaScriptコードの最初の行にブレークポイントを配置します。次に、ブレークが発生したら、変更したコードをそこに貼り付けます。一時停止を解除すると機能します。
Nicholas Blasgen 14

そこにコードをどのように編集または貼り付けますか?その機能はChromeコンソールには表示されません。ElementsセクションからJS / HTMLを編集できますが、自動的に再読み込みされません。しかし、ブレークポイントが設定されている場所では、それは読み取り専用のように見えます
Josh Sutterfield

残念ながら、これはまだ素晴らしい解決策ではありません。追加したコードはコンソールでは使用できません。たとえばvar foo = 'bar'、スクリプトを追加しfooてもコンソールには公開されません。
AgmLauncher 2016年

外部スクリプトはどうなっているのですか?ブレークポイントはそれらから消えるようです。
OlehZiniak 2017

これは、外部から読み込まれたスクリプトを変更する必要がある限り機能します。たとえブレークポイントで実行が中断されても、ChromeもFireFoxデバッグツールもインラインJavaScriptを変更できません。
Marek

146

すばらしいニュースです。修正は2018年3月に行われます。このリンクを参照してください:https : //developers.google.com/web/updates/2018/01/devtools

「ローカルオーバーライドを使用すると、DevToolsで変更を加え、それらの変更をページの読み込み全体で維持できます。以前は、DevToolsで行った変更は、ページをリロードすると失われました。ローカルオーバーライドは、ほとんどのファイルタイプで機能します

使い方:

  • DevToolsが変更を保存するディレクトリを指定します。DevToolsで変更を行うと、DevToolsは変更されたファイルのコピーをディレクトリに保存します。
  • ページをリロードすると、DevToolsはネットワークリソースではなく、変更されたローカルファイルを提供します。

ローカルオーバーライドを設定するには:

  1. ソースパネルを開きます。
  2. [上書き]タブを開きます。
  3. [上書きの設定]をクリックします。
  4. 変更を保存するディレクトリを選択します。
  5. ビューポートの上部にある[許可]をクリックして、DevToolsにディレクトリへの読み取りおよび書き込みアクセスを許可します。
  6. 変更してください。」

更新(2018年3月19日):ライブで詳細な説明はこちら:https : //developers.google.com/web/updates/2018/01/devtools#overrides


12
Chrome 65のリリースにより、これは新たに受け入れられる答えになるはずです。(機能はすでにChrome Canaryで利用可能)
Micros

1
「a.js?ver = 1.2」というファイルがあります。オーバーライドフォルダーに「a.js」として保存され、オーバーライドとして読み込まれません。パラメータがあると動かないの?回避策はありますか?
ラルフ

意図したとおりに機能しますが、1つのことに注意する必要があります。元のjsをロードしたい場合は、オーバーライドの構成をクリアするか、ローカルで変更されたファイル(オーバーライドの構成時に指定したフォルダーに保存されている)を削除する必要があります。
ムハンマドムラドハイダー

61

リソースの上書き拡張子は、あなたが正確に行うことができます:

  • 置き換えるURLのファイルルールを作成する
  • 拡張機能のjs / css / etcを編集します
  • 何度でもリロード:)

1
トリックは私に感謝しましたか?私はその拡張の前にFiddler for Windowsを使用していました。現在、どのプラットフォームでもリモートファイルをデバッグできます。
Ahmad Alfy、2015年

ソフトウェアを理解していません。誰かがどのようにセットアップする必要があるかを誰かに説明できますか?
ブラック

0

正確な質問(Chromeデベロッパーツール)の回答ではないことはわかっていますが、この回避策を使用して成功しました:http ://www.telerik.com/fiddler

(ウェブ開発者の何人かがこのツールについてすでに知っていると確信しています)

  1. ファイルをローカルに保存します
  2. 必要に応じて編集
  3. 利益!

ここに画像の説明を入力してください

完全なドキュメント:http : //docs.telerik.com/fiddler/KnowledgeBase/AutoResponder

PS。私はむしろそれをフラグとしてChromeに実装したいのpreserve after reloadですが、現在これを行うことはできません。フォーラムやディスカッショングループは企業ネットワークでブロックされています:)


-8

はい、dev-toolsの[Source]タブを開き、変更するスクリプトに移動します。開発ツールウィンドウで直接調整を行ってから、Ctrl + Sキーを押してスクリプトを保存します。ページ全体を更新するまで、新しいJSが使用されることを確認してください。


クロムのバージョンは何ですか?はい、スクリプトのコンテンツを編集できます(ページ自体のスクリプトではありません)。ただし、変更しても効果はありません。また、Ctrlキーを押しながらローカルにスクリプトを保存するだけで、Ctrlキーを押しながらSキーを押しながら保存しますメインウィンドウ)。
davidkonrad 2014年

私はバージョン34を使用しています。たとえば、スクリプトを編集して、クリックイベント(すでに結合)にconsole.logを追加して保存すると、コンソールに次のメッセージが出力されます:「再コンパイルと更新に成功しました。」- その後。クリックイベントをトリガーすると、コンソールにログ出力が表示されます。
jacksbox 2014年

ページをリロードすると、ローカルで変更されたファイルを使用していないように見えます。
Jake Wilson

32
あなたは「はい」で私を迎えました...しかし、あなたは「ページ全体を更新するまで」で私を失いました...
クールブルー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.