2011-10-25 34 views
1

我正在加載YouTube iframe播放器,並且如果該用戶的計算機無法從他們的工作場所連接到YouTube,則希望提供備用Flash播放器。有沒有辦法用jquery條件語句來檢查這個人的電腦是否被YouTube阻止? 在此先感謝,YouTube連接測試 - jQuery

+0

您是否使用jQuery加載iframe? – Joey

+0

我可以;我實際上使用一些PHP來加載youTube ID作爲變量在iframe中。 iframe在div中,我可以用ajax調用來清空並加載對象。我願意接受任何想法,並可以使用php解決不同的解決方案。我想我只是需要一些方法來檢查電腦是否可以連接到YouTube;任何使用php或jQuery的方法都適用於我。謝謝你的評論。 – CarlosM

回答

0

下面的代碼工作...但有幾個警告:如果YouTube被「封鎖」並且阻擋者碰巧返回了有效的回覆,那麼成功可能是誤判。另外,如果響應導致jQuery出現內部錯誤,則可能「error」不會被調用,因爲返回的dataType實際上不是jsonp。

$.ajax({ 
    url: 'http://gdata.youtube.com/feeds/api/videos/?alt=json', 
    dataType: 'jsonp', 
    success: function() { 
     alert('success'); 
    }, 
    error: function() { 
     alert('error'); 
    }, 
}); 
+0

有沒有用PHP來測試服務器連接的方法?我目前有一個解決方案,它使用actionscript通過無鉻api捕捉玩家加載錯誤,然後將其移動到加載閃存flv播放器的不同幀。如果actionscript可以加載無鉻播放器並檢測加載錯誤,那麼我相信php或javascript可以做同樣的事情。我只是想制定一個解決方案,不需要我自定義swf;我寧願使用PHP和或JavaScript。任何提示的想法,ajax加載錯誤並不適合我。謝謝你的時間,迦勒。 – CarlosM

+0

ajax請求應該調出一個statusCode 404;我正嘗試使用您提供的代碼與statusCode響應,任何想法? – CarlosM

+0

使用PHP的問題是你不知道客戶端是否有訪問權限;只是你的服務器...所以這對你沒有用的信息。 - 對於JS,jQuery中JSONP的當前實現非常有限,並且不會提供大量信息......我相信成功是唯一可以告訴你調用狀態的回調函數:成功(data,textStatus,jqXHR) –