Невозможно отправить сообщение на https://player.vimeo.com. Получатель имеет происхождение https://tpc.googlesyndication.com
Я пытаюсь воспроизвести видео с помощью vimeo player онлайн в браузере Safari на Mac OS. Но когда я отправляю "готовый" запрос, я получаю сообщение об ошибке, которое говорит
Невозможно отправить сообщение на https://player.vimeo.com/. Получатель имеет происхождение https://tpc.googlesyndication.com/.
Вот как я называю функции Vimeo
var player = $('iframe');
var playerOrigin = '*';
var status = $('.status');
// Listen for messages from the player
if (window.addEventListener) {
window.addEventListener('message', onMessageReceived, false);
}
else {
window.attachEvent('onmessage', onMessageReceived, false);
}
// Handle messages received from the player
function onMessageReceived(event) {
// Handle messages from the vimeo player only
if (!(/^https?:\/\/player.vimeo.com/).test(event.origin)) {
return false;
}
if (playerOrigin === '*') {
playerOrigin = event.origin;
}
var data = JSON.parse(event.data);
switch (data.event) {
case 'ready':
onReady();
break;
case 'playProgress':
onPlayProgress(data.data);
break;
case 'pause':
onPause(data.data);
break;
case 'seek':
onseekTo(data.data);
break;
case 'finish':
onFinish();
break;
}
}
// Helper function for sending a message to the player
function post(action, value) {
var data = {
method: action
};
if (value) {
data.value = value;
}
var message = JSON.stringify(data);
player[0].contentWindow.postMessage(message, playerOrigin);
}
function onReady() {
$(".loading").show();
post('addEventListener', 'finish');
post('addEventListener', 'playProgress');
post('addEventListener', 'pause');
post('addEventListener', 'seek');
}
0 ответов
Похоже, плеер рендерится через рекламу Google.
tpc.googlesyndication - это рекламная платформа Google. Рекламу заворачивают плеера. Так что любойpostMessages
пройти через это, следовательно, очистить фактическое происхождение события.
Я столкнулся с аналогичной проблемой. У меня есть временная задержка, чтобы использовать'*'
(Меня смущает идея иметь цель с подстановочными знаками; но у меня пока нет более чистого решения)