Обнаружение, если YouTube заблокирован компанией / провайдером

System.arraycopy, вероятно, самый эффективный способ, но для эстетики я бы предпочел:

 Arrays.asList(Object_Array).toArray(new String[Object_Array.length]);
13
задан niton 15 April 2015 в 21:36
поделиться

3 ответа

Мне нравится решение холостяка, но да, оно создает состояние гонки . Это будет работать и не приведет к продолжению гонки:

var image = new Image();
image.onload = function(){
// The user can access youtube
};
image.onerror = function(){
// The user can't access youtube
};
image.src = "http://youtube.com/favicon.ico";
19
ответ дан 1 December 2019 в 06:48
поделиться

Можно загрузить изображение из YouTube с помощью JavaScript и проверить его свойства. favicon является крошечным и имеет последовательный URL -

var image = new Image();
image.src = "http://youtube.com/favicon.ico";
if (image.height > 0) {
    // The user can access youtube
} else {
    // The user can't access youtube
}

я думаю, что это немного лучше, чем загрузка JavaScript, потому что это не попытается выполнить любой код, и в то время как YouTube мог бы переименовать их файлы JavaScript или функции из тех файлов, они вряд ли будут когда-либо переименовывать свой favicon.

14
ответ дан lacker 15 April 2015 в 21:36
поделиться

Это должно работать. В основном это загружает файл JavaScript youtube.com, затем проверяет, существует ли функция в том файле.

<html>

<head>
    <script src="http://www.youtube.com/js/account.js"></script>
    <script>
        function has_you_tube()
        {
            if(typeof addVideosToQuicklist == 'function')
            {
                return true;
            }
            else
            {
                return false;
            }

        }
    </script>

</head>
<body>
    <script>alert( "has_youtube: " + has_you_tube() ); </script>
</body>


</html>
8
ответ дан Tristan Havelick 15 April 2015 в 21:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: