Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.01.2013, 16:39
Аватар для WowVital
Новичок на форуме
Отправить личное сообщение для WowVital Посмотреть профиль Найти все сообщения от WowVital
 
Регистрация: 15.01.2013
Сообщений: 2

написание расширений для Google Chrome
Подскажите как реализовать воспроизведение mp3 в popup окошке расширения.
Пытаюсь воспроизводить таким образом:

function PlaySound(surl) {
document.getElementById("soundspan").innerHTML=
"<embed src='"+surl+"' hidden=true autostart=true loop=false>";
}

<span id=soundspan></span>
<form>
<input type="button" value="Play" onClick="PlaySound('strawberry_fields.mp3')">
</form>


но дебаггер выдает следующее:

"Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src 'self' chrome-extension-resource:"."

Через флеш mp3 тоже не воспроизводится так как необходимо воспроизводить файл с другого домена, флеш такое не разрешает.
Ответить с цитированием
  #2 (permalink)  
Старый 15.01.2013, 17:30
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

WowVital,
<object id="Play" style="display:none" width="411" height="28"><param name="movie" value="http://embed.prostopleer.com/track?id=24358372bFX"></param><embed id="id0" src="" allowscriptaccess="always" allowfullscreen="true" width="725" height="506"></embed></object><input type="button" value="Play" onClick="document.getElementById('Play'). style='display:block'; document.getElementById('id0').src='http://embed.prostopleer.com/track?id=24358372bFX'">

Автозапуск не наю как, (какой то параметр должен быть типо
autoplay="1"
У каждого плеера он может чуть другой
Ответить с цитированием
  #3 (permalink)  
Старый 15.01.2013, 19:49
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Если не ошибаюсь но во первых у вас в manifest.json, в permissions должен быть адрес сайта с которого хотите воспроизводить mp3.

попробуйте так:
{
  [...]
  "manifest_version": 2,
  "permissions": ["http://example.com"],
  "content_security_policy": "script-src 'self' [url]http://example.com;[/url] object-src 'self'",
}


А непосредственно про ошибку, тут почитайте:
http://developer.chrome.com/extensio...licy.html#H2-3
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай

Последний раз редактировалось walik, 15.01.2013 в 19:53.
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2013, 08:37
Аватар для WowVital
Новичок на форуме
Отправить личное сообщение для WowVital Посмотреть профиль Найти все сообщения от WowVital
 
Регистрация: 15.01.2013
Сообщений: 2

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

Если кому интересно:
В popup.html нельзя объявлять вообще никакие скрипты, также и события.

То есть вместо
<input type="button" value="Play" onClick="PlaySound('strawberry_fields.mp3')">

Нужно писать
<button id="Button1" ></button>

А в popup.js
function clickHandler(e) {
  PlaySound('strawberry_fields.mp3')
}

document.addEventListener( "DOMContentLoaded" , function () {
  document.getElementById("Button1").addEventListener( "click" , clickHandler);
});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Google Chrome переставляет элементы после события onload w1cked Events/DOM/Window 2 25.12.2012 07:34
unresponsive google chrome или kill pages Kosh Events/DOM/Window 0 07.06.2011 04:42
Определить включена ли блокировка всплывающих окон в Google Chrome neoweb Opera, Safari и др. 0 18.01.2010 10:53
Написание плагина для Firefox SunnyDay Общие вопросы Javascript 2 02.12.2008 15:21