3

一個成功的負載是這樣的:處理錯誤在JavaScript

http://gdata.youtube.com/feeds/api/videos/N7m86aMNjlQ?callback=jsonp1335008664824&alt=json-in-script

然而,當視頻是私人或不存在,它只是返回的消息與HTTP錯誤狀態碼。

http://gdata.youtube.com/feeds/api/videos/zkZBEnBjOjY?callback=jsonp1335008664915&alt=json-in-script

我創建一個獨特的例子回調函數的名稱,比如「jsonp1335008664824」並追加URL作爲SRC的腳本標記和捕捉功能加載腳本時。但是,如果它返回一個錯誤,YouTube不會將該內容作爲回調函數返回,並且我無法捕獲它們中的任何一個。由於腳本標記沒有「onerror」屬性,我甚至不知道它是否正在加載或返回錯誤,如404或503狀態代碼。

似乎唯一處理它的是設置超時函數,當我追加腳本標記。然而,這不是一個可靠的方法,所以我正在尋找另一種選擇。我知道即使我可以捕獲狀態代碼,但我無法獲取錯誤消息,但正如我所看到的,只有兩個狀態代碼和兩個錯誤,分別是404「Video not found」或503「Video is private」。

+0

這可能是重複的:http://stackoverflow.com/questions/538745/how-to-tell-if-a-script-tag-failed-to-load。 這也讓我很惱火,我會把這個發送給YouTube API團隊...... – 2012-04-21 12:36:07

+0

我看到了這個問題,但是因爲它與youtube api問題更相關,所以我想創建一個新問題。而且我也將這個問題發送給youtube api開發者論壇。 (https://groups.google.com/forum/?fromgroups#!forum/youtube-api-gdata) – 2012-04-21 12:40:24

+1

已經做到了:) – 2012-04-21 12:49:31

回答