2014-10-02 41 views
0

我正在使用一個隨時在Firefox中停止工作的網站。每當我嘗試更新時,這段代碼都會填充到html中,並且我正在嘗試理解它。我沒有對網站中使用的JavaScript進行任何更改,但無論如何已完全禁用所有使用JavaScript的網站元素。踢球者是,它只發生在Firefox。 Chrome完美運作。我一直在研究HTML,這是唯一奇怪的事情 - 我在智慧的結尾,任何想法?我對JavaScript沒有太多瞭解,並且我沒有觸及網站腳本中的任何內容,所以我不明白他們爲什麼突然停止運行。Firefox中的Javascript問題

<script type="text/javascript" id="RTCEarlyScript"> 

window.oldSetTimeout = window.setTimeout; 
window.setTimeout = function (func, delay) { 
    return window.oldSetTimeout(function() { 
    try { 
     if (!document.documentElement.getAttribute('stopTimers ')) { 
     if (typeof func == 'string') { 
      var nfunc = new Function(func); 
      nfunc(); 
     } else func(); 
     } 
    } catch (ex) { 
    } 
    }, delay); 
}; 
window.oldSetInterval = window.setInterval; 
window.setInterval = function (func, delay) { 
    return window.oldSetInterval(function() { 
    try { 
     if (!document.documentElement.getAttribute('stopTimer s')) { 
     if (typeof func == 'string') { 
      var nfunc = new Function(func); 
      nfunc(); 
     } else func(); 
     } 
    } catch (ex) { 
    } 
    }, delay); 
}; 
</script> 
+0

你嘗試刪除它嗎?它看起來像你重寫'window.setTimeout'這不是很好的做法。 – styfle 2014-10-02 02:52:27

+1

不要挑剔,但你可以嘗試添加一些回車代碼?嘗試在一行中閱讀所有內容感覺有點嚇人。 – rayryeng 2014-10-02 02:54:31

+0

@styfle是的。我每次刪除它時,下次更新頁面時都會返回。奇怪的是,我將問題的範圍縮小到了Firefox插件故障,但是由於此代碼不斷出現,我知道還有其他一些錯誤。由於我在這個網站上使用了一些預編碼的模塊,因此引起了一些爭議。我可以說代碼有問題,但善良只知道是什麼。 – Mimi 2014-10-02 03:22:30

回答

1

RightToClick擴展名是注入該腳本,顯然不清理後自己。
禁用或刪除它。

1

不知道這是否有幫助,但我理解代碼的意圖。

setTimeoutsetInterval是JavaScript函數,它允許程序員「安排」在給定時間發生的事件。所以你可以從現在開始執行一些代碼,或者從現在起五秒鐘。

此處的開發人員試圖用語義等價物替換這些函數,首先檢查是否有人在文檔的頂層元素(<html>元素)上設置了「stopTimers」屬性。如果設置了該屬性,則計劃運行的代碼將不會運行。