Я получаю сообщение об ошибке в заголовке, установленном в API iFrame YouTube. Я не думаю, что это происходило раньше.API YouTube iFrame не загружает видео на iPhone
Refused to set unsafe header "Origin"
Wdwww-embed-player.js:225:275
$dwww-embed-player.js:228:375
(anonymous function)www-embed-player.js:1267
Jmwww-embed-player.js:870:162
Gqwww-embed-player.js:1266:557
wrwww-embed-player.js:1302:197
(anonymous function)F1CbO4TLzgI:9:14691
Это, похоже, происходит только на iPhone (как в Chrome, так и в Safari). Я на последней прошивкой (9.2.1)
Это код, где происходит последняя ошибка:
//ln 1503
function Wd(a, b, c, d, e, f, h) {
function k() {
4 == (l && "readyState"in l ? l.readyState : 0) && b && nc(b)(l)
}
var l = Ud && Ud();
if (!("open"in l))
return null;
"onloadend"in l ? l.addEventListener("loadend", k, !1) : l.onreadystatechange = k;
c = (c || "GET").toUpperCase();
d = d || "";
l.open(c, a, !0);
f && (l.responseType = f);
h && (l.withCredentials=!0);
f = "POST" == c;
if (e = Xd(a, e))
for (var n in e)
l.setRequestHeader(n, e[n]), "content-type" == n.toLowerCase() && (f=!1);
f && l.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
l.send(d);
return l
}
Вот мой код для загрузки видео:
var yt = document.createElement('div'),
_this = this,
id = this.videoID;
$(yt).attr('id', id);
this.container.append(yt);
this.el = new YT.Player(id, {
height: '100%',
width: '100%',
playerVars: {
'autoplay': 1,
'controls': 0,
'search': 0,
'showinfo': 0,
'autohide': 1,
'rel': 0,
'html5': 1
},
videoId: this.videoID,
events: {
'onReady': function(e) { _this.loadComplete(e); },
'onStateChange': function(e) { _this.stateChanged(e); },
'onError': function(e) { _this.error(e); }
}
});
this.timeout = setTimeout(function() {
_this.core.debug.log('YOUTUBE', 'CHECKTIMEOUT', _this);
if (!_this.isLoaded) {
_this.error();
}
}, TIMEOUT);
Любой помощь или предложения были бы весьма признательны.
Также просто примечание ... эта ошибка не возникает на настольных браузерах. – sethasaurus
Можете ли вы предоставить полный пример jsfiddle, чтобы я мог протестировать iPhone? – JAL
Не похоже, что jsfiddle работает даже для базового встраивания на моем iphone ... https://jsfiddle.net/n7gvsqb9/1/ – sethasaurus