2012-12-12 67 views
1

當你添加一個script標籤,其中一個src字段指向一個javascript文件時,瀏覽器獲取並執行它。瀏覽器如何包含JavaScript文件?

我在想什麼是這個過程是如何工作的。該文件被抓取,然後以某種方式eval()'編?這是一個神祕的過程,發生在我們可以訪問的範圍之外嗎?或者我們可以監視/干涉這個嗎?

解釋我想達到的目標: 我想讓第三方通過鏈接到他們自己的JavaScript文件來訪問我的網站。我希望能夠集中記錄任何阻止這些外部腳本加載的錯誤(即他們的服務器關閉,解析錯誤等等)。可能嗎?

謝謝!

  • 顯然還有其他的方法來解決這個問題,如我的託管服務器上的腳本,並給他們一個方式來更新他們,但我想知道如果我目前的做法是可行的。
+0

Greasemonkey是Javascript和運行在鉻(sorta,我認爲)。有可能,你只需要看看附加組件的工作原理。 –

+0

你可能會看看這個答案:http://stackoverflow.com/questions/12450755/save-source-of-popup-window-as-string/12454721#12454721至少有一些資源讓你看看。你可以在Firefox和Chrome瀏覽器中看到很多,只需右鍵單擊並查看控制檯/檢查器以及其他內容。 –

+0

@JaredFarrish:謝謝,但論文是擴展和擴展被允許做的事情「正常」JavaScript不能做/訪問。 – johnjohn

回答

3

你可以看看在Firefox中的具體實現&具有一些grep魔術的鉻源,針對你的特定場景我會通過動態地插入腳本標記並監聽全局錯誤/事件(例如window.onerror)從那裏。

+0

謝謝!聽起來是一個好主意! – johnjohn

0

它在加載頁面時加載java腳本文件並將該腳本存儲在其緩存中。如果你再次加載頁面,那麼它將從緩存中獲取該js。

+0

謝謝,但這並不能回答如何獲取錯誤的問題;) – johnjohn

相關問題