Расширение для Google Crome
Добрый день ув. форумчане. Подскажите пример скрипта который будет брать на сайте определенный div и заменять его контент на свой.
|
Вот минимальное расширение:
Пример: manifest.json
{ "name": "Test", "version": "1.0", "manifest_version": 2, "description": "Test", "content_scripts": [ { "matches": ["*://*.google.ru/*"], "js": ["content.js"] } ] } Пример: content.js
document.querySelector('body') //меняем селектор на нужный .innerHTML = 'Hello google!';его уже можно загрузить в режиме разработчика и сходить на google.ru, посмотреть на результат. |
Подскажите урок или пример загрузки данных с БД или сайта?
Т.е.: .innerHTML = 'Hello google!'; Где Hello google берется с базы данных, или сайта. |
Пример: manifest.json
{ "name": "Test", "version": "1.0", "manifest_version": 2, "description": "Test", "content_scripts": [ { "matches": ["*://*.google.ru/*"], "js": ["content.js"] } ], "background": { "scripts": ["background.js"] }, "permissions": [ "https://www.deviantart.com/" ] } Пример: content.js
chrome.runtime.sendMessage( 'get art', // отравляем запрос в фоновый процесс html => document.querySelector('body').innerHTML = html ); Пример: background.js
chrome.runtime.onMessage.addListener( (message, sender, sendResponse) => fetch('https://www.deviantart.com/') // запрашиваем сайт .then( response => response.text() ) .then( sendResponse ) // отравляем результат обратно на вкладку && true // !возвращаем true, чтобы вкладка дождалась ответа ) |
Блокатор звука
Всем привет! Не подскажет ли кто?
Понадобилось расширение, которое блокирует звук на определенных сайтах. Типа заходишь на яндекс.музыку, нажимаешь воспроизвести... судя по сайту она вроде бы идет, но ты ее не слышишь, потому что из-за расширения до браузера не доходит. В этом и заключается вся задача. Само-то расширение, я, конечно, сделал, вот только javascriptа, который просто блокировал бы звук, нигде нет. Вернее есть, но только если ты разработчик сайта, а не расширений. Не встречался ли вам такой скрипт? Заранее спасибо. P. S. : Я понимаю, что проще скачать расширение где-то и все. Но мне нужно его скрыть от жены, поэтому делаю сам, а то догадается, выключит и будет ночью музыкой спать мешать. |
Я беру 2 блока с сайта, и хочу заменить их. Есть вот такой код:
var elements = document.querySelectorAll('div .black, div .yellow'); for (var i = 0; i < elements.length; i++) elements[i].innerHTML = 'text'; Мне надо: - Для каждого блока разный контент, в моем случает text в обоих div - Значение брать с сайта site.ru/bd.php, где .black - textblack, изменил - сохранил и оно в расширении появилось) |
Цитата:
chrome.runtime.sendMessage( 'get art', // отравляем запрос в фоновый процесс html => document.querySelector('session-chat').innerHTML = html ); У меня ошибка: Error in event handler for (unknown): TypeError: Cannot set property 'innerHTML' of null at chrome.runtime.sendMessage.html (chrome-extension://fcipomdjmklgjgjnlcjoeagkolklgfgm/content.js:2:62) |
Английским языком вам написано:
TypeError: Cannot set property 'innerHTML' of null ТипаОшибка: немогу покласть свойство нутрянойХтмл в нуль Т.е. нет такого элемента на странице. "session-chat" всё-таки не имя элемента, а класс и потому должен быть указан соответствующим образом('.session-chat'). |
Часовой пояс GMT +3, время: 12:20. |