Итак, у меня есть сценарий, который будет захватывать ссылки со стола на THIS странице («х» есть ссылки на зарегистрированных пользователей странице) ...Обработчик нажатия кнопки Greasemonkey не работает?
Так что я пытаюсь использовать всплывающее окно что Брок помог мне с другим сценарием ... ссылки добавляются правильно в массив 'linksToOpen' (или до того, как я добавил кнопку, слушатель и функцию openLinksInSequence) ... все кажется прекрасным, и я не получайте сообщений об ошибках ... но моя кнопка НЕ работает!
// ==UserScript==
// @name Unicreatures Accoplishment Checker
// @namespace http://trueidiocy.us
// @description Marks off completed accomplishments
// @include http://unicreatures.com/accomplishments.php
// @include http://www.unicreatures.com/accomplishments.php
// @include http://unicreatures.com/accomplishments.php?
// @include http://www.unicreatures.com/accomplishments.php?
// @version 1
// @grant GM_addStyle
// ==/UserScript==
var mytable = document.getElementById('right').getElementsByTagName('table')[4];
var links=mytable.getElementsByTagName('a');
var i;
var linksToOpen = [];
var mywin2 = null;
var zNode = document.createElement ('div');
zNode.innerHTML = '<button id="checkButton" type="button">'
+ 'Check Accomplishments</button>'
;
zNode.setAttribute ('id', 'checkButton');
mytable.parentNode.insertBefore(zNode, mytable);
function checkAccomplishments (zEvent) {
for(i=0;i < links.length;i++) {
if (links[i].href.indexOf('family') > -1) {
linksToOpen.push (links[i].href);
links[i].innerHTML="*";
}
}
alert(linksToOpen)
openLinksInSequence();
};
function openLinksInSequence() {
if (mywin2) {
mywin2.close();
mywin2 = null;
}
if (linksToOpen.length) {
var link = linksToOpen.shift();
mywin2 = window.open (link, "my_win2");
mywin2.addEventListener ('load', openLinksInSequence, false);
}
}
checkButton.addEventListener ("click", checkAccomplishments, true);
Итак, почему моя кнопка не работает?
У вас есть несколько проблем, но, самое главное, вы устанавливаете 'id' вашего div таким же, как ваша кнопка. И вы пытаетесь добавить прослушиватель событий к неопределенному объекту. Элементы DOM не отображаются как переменные JS. Вам нужно будет «var checkButton = document.getElementById (« checkButton »);' перед установкой прослушивателя событий. – mafafu
но ... но ... но ... Я сделал это НАСТОЛЬКО, как мой рабочий скрипт ... lol ... Я посмотрю на эти проблемы ... спасибо –
@mafafu Это сделало это ... спасибо ... если вы добавите это в качестве ответа, я приму это –