Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   запуск функции по кнопке в userscript (https://javascript.ru/forum/events/39223-zapusk-funkcii-po-knopke-v-userscript.html)

djkey 21.06.2013 13:15

запуск функции по кнопке в userscript
 
Добрый день! являюсь новичком в javascript. Столкнулся вот с такой проблемой:
Создал свой userscript (инструкцию читал тут)
в браузере опера вот этот текст работает:
// ==UserScript==
*****
// ==/UserScript==

function satr()
{
	var articles = document.getElementsByClassName('troop_details inReturn');
//	for (var i=0; i<articles.length; i++) 
	for (var i=0; i<2; i++) 
	{
		var troopinReturn = articles[i]
		alert(troopinReturn.rows[1].cells[0].innerHTML);
	}
}
var btn = document.createElement('input');
document.body.appendChild(btn);
btn.id = 'b1';
btn.type = 'button';
btn.value = 'Кнопко!';
btn.setAttribute('onclick', "satr();")

т.е. при нажатии кнопки выдаёт мне 1-2 сообщения с содержимым.
в google chrome выпадает ошибка:
Uncaught ReferenceError: satr is not defined
Что она означает я понимаю, я не понимаю почему она возникает.
Если страницу к которой подключается скрипт просто сохранить в html и уже туда вставить этот же код, то всё ок.

Честно признаюсь, javascript читаю около недели. потому ошибки могут быть самые очевидные.
Заранее спасибо.

djkey 21.06.2013 14:05

nasqad, добавил строку.
К сожалению, ошибка в хроме так же возникает.

cyber 21.06.2013 14:41

btn.onclick = satr;
//или
btn.addEventListener('click', satr, false)

так делать не нужно
btn.setAttribute('onclick', "satr();")

djkey 21.06.2013 15:09

cyber,
Спасибо. всё получилось.

Dyec 13.01.2018 18:15

как зоздать простую кнопку на всех сайтах была чтобы вверху или внизу?


Часовой пояс GMT +3, время: 04:03.