首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测YouTube是否被公司/互联网服务提供商拦截

检测YouTube是否被公司/互联网服务提供商拦截
EN

Stack Overflow用户
提问于 2008-11-13 01:24:28
回答 5查看 11.8K关注 0票数 15

我们有一个网站上的YouTube视频,如果它是可能的,如果他们将无法查看他们由于(很可能)公司政策或其他。

我们有两个站点:

1) Flex / Flash 2) HTML

我认为使用Flex我可以尝试下载http://youtube.com/crossdomain.xml,如果它是有效的XML,则假定站点可用。

但是对于HTML,我不知道该怎么做。我甚至想不出一个“漂亮的黑客”。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-27 00:29:11

我喜欢莱克的解决方案,但是的,它创建了一个race condition。这将会起作用,并且不会创建竞态条件:

代码语言:javascript
复制
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";
票数 21
EN

Stack Overflow用户

发布于 2008-11-13 02:10:30

您可以使用javascript从youtube加载图像并检查其属性。favicon很小,并且有一个一致的url -

代码语言:javascript
复制
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文件,或者那些文件中的函数,但他们不太可能重命名他们的收藏图标。

票数 14
EN

Stack Overflow用户

发布于 2008-11-13 02:02:29

这应该是可行的。基本上,它加载一个youtube.com javascript文件,然后检查该文件中的函数是否存在。

代码语言:javascript
复制
<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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/286021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档