Размещено: 2023-12-08 02:58:17
Теги: расширения
КНОПКА ПЕРЕХОДА НА СТАТИЧЕСКИЕ СТРАНИЦЫ В РАСШИРЕНИИ
Если надо в popup.html в расширении сделать кнопку перехода на другую статическую страницу в расширении (page.html), получить url расширения, то необходимо создать на popup.html кнопку с определенным id, затем прикрепить js в котором будет прописано что происходит при нажатии этой кнопки. Потому как в самом popup.html никакие сприпты и атрибуты onclick прикреплять запрещено. В итоге в popup.html:
<!DOCTYPE html> <html> <head> <title>TITLE_RASHIRENIE</title> <link rel="stylesheet" href="css/popup.css" /> <meta charset="UTF-8"> </head> <body> <h1>H1_RASHIRENIE</h1> <button id="wopen">PEREJTI</button> <script src="js/popup.js"></script> </body> </html>
и скрипт popup.js:
document.getElementById('wopen').onclick=function(){window.open(chrome.runtime.getURL('page.html'))}
При этом chrome.runtime.getURL('page.html') - выдает путь по которому установлено расширение на компьютере пользователя в виде url и добавляет к нему адрес нашей статической страницы.
При нажатии на кнопку на popup.html происходит открытие страницы chrome-extension://тут_код_расширения/page.html. В манифесте нигде не надо прописывать ничего про popup.js
При этом звуки, скрипты и картинки (наверно) можно просто так прикреплять и они будут работать.
Если задача сразу при нажатии на ярлык расширения перевести пользователя на статическую страницу, то можно написать popup.html:
<!DOCTYPE html> <html> <head> <script src="popup.js"></script> </head> <body> </body> </html>
а в popup.js:
window.open(chrome.runtime.getURL('page.html')); window.close();
либо не указывать popup в манифесте, а как-то (?) отслеживать событие включения расширения в background.js.
Все события жизненного цикла расширения находятся в chrome.runtime API и на данный момент их всего 5:
- onStartup
- onInstalled
- onSuspend
- onSuspendCanceled
- onUpdateAvailable
На эту страницу чаще всего попадают по запросам: