2009-12-31 136 views
1

好奇是否有一個簡單的辦法有一個故障開的google.load()如果google.load失敗,該怎麼辦?

的可能罩,谷歌無法提供該文件,但我可以是相當渺茫,但我想這可能是有趣的,有我自己的服務器能夠提供故障轉移以防萬一請求炸彈或超時或什麼的。

有什麼想法?

我使用MS Visual Studio 2008中/ C#

+0

谷歌說:「谷歌永遠不會PHAIL!」 – mauris 2009-12-31 05:02:38

回答

0

的這個機會是非常小,這可能屬於過度思考事物的類別。實際上,你自己的服務器比谷歌的設置更有可能脫機。除非您定期在您的網站上處理數百萬美元的交易,否則這將是一個不必要的(也可能是不可靠的)工程。

google.load有一個回調參數,然而,這被稱爲成功而不是失敗。我不確定在失敗時會發生什麼,因爲我從來沒有能夠加載JS API,但沒有加載其他Google託管的JS文件。這就是訣竅。如果您首先可以撥打google.load,則可以確定Google服務器可以訪問。如果出於某種瘋狂的原因Google服務器停機,那麼google對象將永遠不會被首先定義。我不知道是否有任何正式記錄的方法來檢測失敗,但我想你可以檢測是否定義了對象,並在此時自行加載自己的宿主版本的腳本。

如果你確實按照這條路線行事,你可以在你的主機文件中指向google.com到類似0.0.0.0的東西來測試它。如果在這一點上仍存在問題,例如onload事件,我不會感到驚訝,因爲在事件處理程序甚至在故障轉移事件中註冊之前事件可能已被觸發。

+0

據我所知,谷歌的服務器比我自己的可能性更可靠...但我不喜歡讓他們確定我的網站的穩定性的想法。由於jquery變得如此重要,我喜歡保持控制(但共享帶寬;-)感謝您的反饋。 – tnriverfish 2009-12-31 17:10:58

+2

夠公平的。儘管其他人關於Google域名被阻止的觀點可以通過使用googleapis.com主機名來緩解。儘管您可能仍然被過度熱情的內容過濾器阻止。 HTTP請求可能會失敗的原因有很多。解決所有這些問題很少值得付出,因爲大多數情況下,錯誤恢復過程並不完美或經過充分測試,或者只是直接不可恢復的。考慮你的時間是有限的,並且工程資源可能會更好地花在其他事情上。 – 2009-12-31 17:54:25

相關問題