#jquery #google-chrome
#jquery #google-chrome
Вопрос:
Я работал над расширением Chrome, которое добавляет кнопку загрузки на страницу видео YouTube.
У меня возникли некоторые проблемы с отображением кнопки при выполнении следующих действий..
- Посетите YouTube -> Нажмите на видео = кнопка не будет отображаться
- Обновить страницу = отображается кнопка
- Открыть ссылку на новой вкладке = отображается кнопка
Поэтому, когда новое видео (страница) загружается на той же вкладке, кнопка не отображается. Я использую background.js чтобы добавить кнопку в класс div по идентификатору. Я пробовал использовать document.ready в jQuery и многие другие, но это все равно не сработает.
manifest.json
{
"name": "Name",
"version": "1",
"manifest_version": 2,
"description": "Description",
"background_page": "background.html",
"icons": {
"16":"icon-16.png",
"48":"icon-48.png",
"128":"icon-128.png"
},
"content_scripts": [ {
"js": [ "jquery.min.js", "background.js" ],
"matches": [ "http://*/*", "https://*/*"]
}]
}
background.js
$("#watch-like-dislike-buttons").append("<span><button style='border-color:#c6c6c6;background:#f0f0f0;box-shadow:0 1px 0 rgba(0,0,0,0.10);' class='yt-uix-button yt-uix-button-size-default yt-uix-button-text yt-uix-button-has-icon yt-uix-tooltip' type='button' title='Download from site' id='dl-video' data-force-position='true' data-orientation='vertical' data-like-tooltip='Download from site' data-position='bottomright' data-button-toggle='true' data-tooltip-text='Download from site'><span class='yt-uix-button-icon-wrapper'><img src='http://site.net/img/icon-youtube-download.png' width='20' height='20' class='yt-uix-button-icon' alt='Download from site'></span><span style='margin-right:5px;color:#000;' class='yt-uix-button-content'>Download video </span></button></span>");
$('#dl-video').click(function(){
window.location = "http://site.net/?url=" $(location).attr('href');
});
Может кто-нибудь сказать мне, почему он не добавляет кнопку, когда это «оригинальная загрузка» по ссылке на той же вкладке. Спасибо
Комментарии:
1. Это весь ваш скрипт содержимого? (Очень смущает, что ваш скрипт содержимого вызывается
background.js
:o.)2. Да, это все. Я начал изучать этот материал сегодня, так что я в этом полный новичок .. 😛 Но когда я нажимаю на гиперссылку на домашней странице YouTube, кнопка не добавляется. Сначала, когда я нажимаю обновить или F5, добавляется кнопка, знаете почему? Спасибо
3. Насколько я могу видеть, у меня все работает нормально.. Когда вы говорите «гиперссылка» на домашней странице YouTube, вы просто имеете в виду ссылки на видео, верно?
4. Я говорю о том, что когда вы нажимаете на одно из видео с правой стороны, ссылка меняется, но кнопка не добавляется. По крайней мере, не для меня.
5. Для меня в этом случае оно отлично добавляется. Может быть, у вас есть блокировщик рекламы или что-то еще, что останавливает это? Я полагаю, вы проверили свою консоль на наличие ошибок?