作者:明佳妈妈 | 来源:互联网 | 2022-12-10 04:15
我正在主持一个会议网站,如果你在中国,我想嵌入一个优酷视频,否则就是YouTube视频.会议网站通过长城防火墙内的CDN提供服务.我被给了下面的代码来切换优酷的内部和外部版本.
不幸的是,在防火墙内部似乎无法访问ipinfo.io,因此代码会在10秒后超时.
我已经考虑过重写页面以默认使用优酷视频,编写一个试图访问YouTube的小型非阻止Javascript功能.如果可以,请用YouTube替换优酷.如果不能,则无害地退出.这样,YouTube的可达性成为关键考验,而不是你是否在中国.
或者,我曾考虑在我的网站上托管视频,以便通过防火墙内的CDN进行复制.但是,这意味着即使您的连接速度很慢,也始终以全分辨率下载视频.
关于如何在优酷和Youtube之间切换的更好的建议,或者更普遍的是在中国国内外都可以播放视频?
jQuery.get("https://ipinfo.io", function(response) {
var country = response.country;
if(country == 'CN') {
youku.attr('src',chinaVideo)
} else {
youku.attr('src',generalVideo)
}
}, "jsonp");
Dan Kohn..
6
这是我们要使用的Javascript:
$(document).ready(function (){
var country = '',
youku = $('#youku');
$.ajax({
url: "https://ipinfo.io",
dataType: "jsonp",
success: function(response){
var country = response.country;
if(country != 'CN') {
youku.attr('src','https://www.youtube.com/embed/K3cEE5h7c1s')
}
},
error: function(){
console.log('sorry...')
},
timeout: 5000
});
});
如果国家不是中国,我们在HTML中包含优酷链接并切换到YouTube.如果连接到ipinfo.io
超时,这仍然有效,有时在中国发生.
编辑:修改为添加5秒超时.
1> Dan Kohn..:
这是我们要使用的Javascript:
$(document).ready(function (){
var country = '',
youku = $('#youku');
$.ajax({
url: "https://ipinfo.io",
dataType: "jsonp",
success: function(response){
var country = response.country;
if(country != 'CN') {
youku.attr('src','https://www.youtube.com/embed/K3cEE5h7c1s')
}
},
error: function(){
console.log('sorry...')
},
timeout: 5000
});
});
如果国家不是中国,我们在HTML中包含优酷链接并切换到YouTube.如果连接到ipinfo.io
超时,这仍然有效,有时在中国发生.
编辑:修改为添加5秒超时.
这是我们计划的答案.我仍然愿意听到更好的一个.