Подтвердить что ты не робот

Заменить url из youtube для вставки кода - Ошибка: Permission denied для доступа к свойству 'toString'

У меня есть этот код и эта ошибка в FireBug:

Ошибка: Permission denied для доступа к свойству 'toString'

Как я могу исправить эту ошибку?

HTML:

<div class="yturl">http://www.youtube.com/watch?v=UNMLEZrukRU</div>

JS:

$("div.yturl").each(function(){
    var regex = /(\?v=|\&v=|\/\d\/|\/embed\/|\/v\/|\.be\/)([a-zA-Z0-9\-\_]+)/;
    var youtubeurl = $(this).text();
    var regexyoutubeurl = youtubeurl.match(regex);
    if (regexyoutubeurl) 
    {
         $(this).html("<iframe width=\"390\" height=\"315\" src=\"http://www.youtube.com/embed/"+regexyoutubeurl[2]+"\" frameborder=\"0\" allowfullscreen></iframe>");
    }
});

DEMO: http://jsfiddle.net/9e48p/

4b9b3361

Ответ 1

Ошибка может быть исправлена ​​командой Adobe Flash Player или инженерами Google - вы должны просто игнорировать ее на данный момент. Он подключен к параметрам безопасности Flash Player и SWF файлу, встроенному в страницу Youtube. Проблема была в о которой сообщалось в прошлом IBM, и есть Mozilla Bugzilla entry.

Когда я деактивирую Flash Player в Firefox 16.0.2, сообщение об ошибке исчезает. Проверьте комментарий # 37: https://bugzilla.mozilla.org/show_bug.cgi?id=434522#c37

Для чего это стоит, я вижу, что эта ошибка происходит, когда любой флеш файл, даже те, у которых нет вызовов ActionScript (ExternalInterface и т.д.) в их вообще, загружается в iframe на странице, где домен страницы и домен iframe отличается. Это означает, что iframe проблема возникает, когда на самом деле существует междоменная ситуация в место. Однако не совсем ясно, действительно ли попытка быть междоменным вызовом, который следует предотвратить, и Ошибка.

Потому что это не то, что сам Flash SWF пытается вызвать "Location.toString", и ничего не говорится о javascript на странице делая это, единственный выбор заключается в том, что есть что-то о вспышке сам плагин (9.0.124 - это то, что я тестирую), пытающийся сделать которые вызывают до родительского/верхнего окна, чтобы сделать Location.toString().

В то время как ошибка отмечена как разрешенная, тестовый пример, прикрепленный https://bug434522.bugzilla.mozilla.org/attachment.cgi?id=321956, выдает такое же сообщение об ошибке в последней версии Firefox (как в консоль Firebug или окно Firefox Error Console).

Update:
Ошибка была зарегистрирована в Adobe, а также в старой базе данных ошибок: FP-561 Исключение неполученного (безопасности) объекта Location.toString, вызванное неправильным поведением плагина Flash (вам нужна учетная запись, чтобы увидеть подробности об ошибках). Последний комментарий там, когда ошибка была закрыта:

Протестировано с последним Flash Player 10.3.181.34 на Firefox 4 и 5, нет такое исключение было брошено. Так что ошибка могла быть исправлена, верно? Если вы все еще встречаете эту проблему, пожалуйста, напишите ошибку в нашей новой системе ошибок https://bugbase.adobe.com/ и поместите ссылку в новую ошибку для этого оригинальный отчет JIRA. Мы с удовольствием следим за вашим докладом в новом система ошибок.

Ответ 2

Не игнорируйте эту ошибку только потому, что она не связана непосредственно с вашим кодом.

Кажется, что это происходит, когда ваша вставка скрыта.

Просто добавьте ?html5=1 к вашему URL-адресу. IE8 по-прежнему будет использовать флэш-версию. или загрузите свое видео с помощью приложения Youtube api.

Ответ 3

Что-то, вероятно, неверно с вашим конструктором url iframe. Ошибка вызывается в youtube script, который загружается в Iframe. Эта же ошибка генерируется с помощью hcml iframe, который не динамически добавляется с помощью script

<iframe width="390" height="315" src="http://www.youtube.com/embed/UNMLEZrukRU" frameborder="0" allowfullscreen></iframe>

Только версия HTML-версии http://jsfiddle.net/Lgt5f/

Двойная проверка url не пропускает параметр, в противном случае я бы проверял ресурсы поддержки youtube

Ответ 4

Эта проблема может быть вызвана неработающим расширением.

Запустите Firefox в разделе "Устранение неполадок Firefox", используя безопасный режим, чтобы проверить, вызывает ли одно из расширений или аппаратное ускорение проблемы (переключитесь на тему DEFAULT: Firefox/Tools > Надстройки > Внешний вид/Темы).

Ответ 5

Игнорировать эту ошибку, она не связана с вашим кодом. Просто ошибка браузера.