System.arraycopy, вероятно, самый эффективный способ, но для эстетики я бы предпочел:
Arrays.asList(Object_Array).toArray(new String[Object_Array.length]);
Мне нравится решение холостяка, но да, оно создает состояние гонки . Это будет работать и не приведет к продолжению гонки:
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";
Можно загрузить изображение из 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.
Это должно работать. В основном это загружает файл 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>