2013-11-28 2 views
0

В консоли, если я использую: $("#player > video").videoWidth Получаю результат: 1920 (или что-то еще).Элемент видео HTML5 и jQuery в сценарии содержимого расширения Chrome

Но в сценарии содержимого удлинительный Chrome в, console.log($("#player-api video").videoWidth); выдает результат undefined. Чтобы получить номер 1920 я должен использовать console.log($("#player-api video").get(0).videoWidth);

Кроме того, на консоли я могу сделать:

video = $("#player > video") 
video.style.width = "1920px" 

И ширина стиле CSS в будет изменение в видеоэлемент.

Код $("#player-api video").css("width", '"' + video_width + 'px"'); делает не работы от сценарияконтента. Это странно, потому что $("#player-api video").css("zoom", "reset") делает. Так что что-то особенно странно с шириной и высотой стиля элемента. Мы можем увидеть это, глядя дальше:

Из сценария содержания я должен установить $("#player-api video").get(0).style.width = "1920px" или использовать video = $("#player-api video").get(0) и установить video.style.width. Это связано с тем, что $("#player-api video") не имеет свойства стиля. Однако установка style.width из любого foo.get(0) не изменит стиль элемента.

Наконец, с консоли, если я попытаюсь использовать метод $("#player > video").width напрямую, я нахожу, что это свойство (и оно не настроено ни на что). Установка этого свойства не влияет на стиль элемента, но оно, по крайней мере, есть. Но из сценария контента это метод, который не влияет на элемент.

Почему HTML5VideoElement ведет себя так? Обычно элементы не требуют использования .get(0) для проверки или манипулирования.

И Как изменить стиль элемента (ширину и высоту) элемента видео HTML5 на установочном скрипте расширения Chrome?

ответ

Смежные вопросы