Я делал расширение Chrome, для которого у меня есть html-файл, файл JavaScript, который открывает измененную ссылку на новой вкладке, файле манифеста и значке.Невозможно вызвать функцию JavaScript в html при нажатии кнопки
Он отлично работает, но теперь я хочу, чтобы функция javascript работала только тогда, когда пользователь нажимает кнопку. Поэтому я сделал кнопку в html-файле, поместил код js внутри функции и вызвал функцию, используя onclick
.
Но по какой-то причине он не работает. При нажатии кнопки ничего не происходит. Я попытался перезагрузить расширение. Кроме того, я взял рабочий пример простой программы, в которой при нажатии кнопки появляется сообщение «Hello world» с помощью alert().
Это прекрасно работает, когда я открываю html-страницу непосредственно в chrome, но когда я заменил это на функцию, которую я создал, ничего не происходит при нажатии.
Может кто-нибудь найти ошибку/проблему?
Файл urltry.html является:
<!DOCTYPE html>
<html>
<button onclick="editorial()">View Editorial</button>
<script>
function editorial()
{
chrome.tabs.query({currentWindow: true, active: true}, function(tabs){
var tab_url=tabs[0].url;
var new_url=tab_url.slice(11);
chrome.tabs.create({ url:"http://www.discuss." + new_url});
});
}
</script>
</html>
Я уверен, что расширения Chrome не позволяют встроенным обработчикам событий. Я предлагаю прочитать https://developer.chrome.com/extensions/tut_migration_to_manifest_v2#inline_scripts – Oleg
возможный дубликат [onClick внутри расширения Chrome не работает] (http://stackoverflow.com/questions/13591983/onclick-within-chrome-extension -независимо) – Xan