2017-02-28 177 views
4

我有一個隨機的互聯網頁面在我的Chrome中打開。我打開它與啓用JavaScript,因爲我需要一些腳本來執行。如何停止頁面上的腳本執行?

比從某個時刻我想停止腳本執行,所以沒有任何計時器或事件處理程序應該運行。使用無限循環的couse並不好,因爲我希望頁面能夠響應。

我該如何存檔?

下面的代碼部分做什麼,我需要

document.body.outerHTML = document.body.outerHTML 
for(t=setTimeout(()=>{}); t; --t) clearTimeout(t) 

但:對document和AJAX回調

  1. 事件偵聽器將生存
  2. 這將導致解析HTML,所以一些不合法的標記可以被改變通過解析

另外我希望th ere是通過devtools完成的一些方法,而不需要實際與頁面的代碼進行交互。 PS:如果我需要使用其他瀏覽器,沒關係。

+0

你試過在你的第一行javascript上設置一個斷點嗎? – Sysix

+0

@Sysix,嘗試在使用斷點時使用頁面上的滾動。 – Qwertiy

+0

hm in chrome weard ..我使用Firefox開發者版,在那裏我可以輕鬆滾動:) – Sysix

回答

5

您可以使用DevTools中的命令菜單隨時在頁面上啓用/禁用JavaScript。您可以通過使用Cmd的 + + P(Mac)或按Ctrl ++P(在Windows/Linux)的訪問此菜單。

開始輸入Disable JavaScript並點擊輸入以禁用腳本執行。

在下面的例子中,我運行了一個異步計時器,每500ms記錄一次增量計數。禁用JavaScript後,執行被暫停,並且沒有其他事件記錄到控制檯。

Disable

我後來重新啓用JavaScript的鍵入「啓用JavaScript`擊中輸入。執行此操作後,繼續執行,計時器繼續停止。

Paused

注:當你嘗試禁用JavaScript的就不會被撞死的任何同步代碼仍在運行。它會結束,然後進一步執行將被禁用。

+0

對於進一步的控制,我想你可以在你想「停止腳本執行」的代碼行上設置一個斷點,然後在暫停時禁用JS。我還沒有嘗試過,所以不能確定沒有任何副作用。 –

+0

太棒了!由於某種原因,我認爲它會在頁面重新加載後起作用。 – Qwertiy