Простой скрипт под GM
С новым годом.
Хотел написать скрипт для GreaseMonkey, который добавляет ссылку "ответить" при нажатии на которую из комментария берется ник отправителя и добавляется в текстовое поле. Ссылку добавить удалось, но она выглядит так: <a href="javascript://" onclick="document.getElementsByTagName(textarea)[0].value=nik">Ответить</a> И из-за этого ничего не работает. Исходный код: var blocks=document.getElementsByClassName('block_zero'); var block=blocks.length-3; for (var i=1;i<=block;i++) { var nik=document.getElementsByClassName('block_zero')[i].getElementsByTagName('a')[1].innerHTML; var text='document.getElementsByTagName('"textarea"')[0].value=nik'; document.getElementsByClassName('block_zero')[i].getElementsByClassName('medium')[0].getElementsByTagName('span')[0].innerHTML+=' | <a href="javascript://" onclick="'+text+'">Ответить</a>'; } Помогите заставить работать скрипт, заранее спасибо. |
вот (код не проверял)
var blocks = document.getElementsByClassName('block_zero') ; var block = blocks.length-3 ; for(var i=1; i<=block; i++) { var nik = blocks[i].getElementsByTagName('a')[1].innerHTML ; var text = document.getElementsByTagName('"textarea"')[0] ; blocks[i].getElementsByClassName('medium')[0].getElementsByTagName('span')[0].innerHTML += ' | <a href="#" onclick="text.value=nik;return false;">Ответить</a>'; } ; |
nik is not defined
Не работает. |
Nexus, приведите html-код страницы
|
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC '-//WAPFORUM//DTD XHTML Mobile 1.0//EN' 'http://www.wapforum.org/DTD/xhtml-mobile10.dtd'> <html xmlns='http://www.w3.org/1999/xhtml'> <head> <meta http-equiv='content-type' content='text/html; charset=UTF-8' /> <meta name='viewport' content='width=device-width; minimum-scale=1; maximum-scale=1'> <link rel='stylesheet' type='text/css' href='/css/main.css?54' /> <title>Title</title> </head> <body> <div> <div class='main' style='word-wrap:break-word;'> <div class='head center' onclick='location.href="/"'> <img src='' />Number1 | <img src='' />Number2</div> <div class='exp_bar'> <div class='progress' style='width:0%'></div> </div> <div class='title'>Title</div> <div class='mini-line'></div> <div class='menuList'> <li> <a class='grey' href='/forum/topic/192074?r=52418200'>Перейти к новому</a> </li> </div> <div class='dot-line'></div> <div class='block_zero'>Комментарии: <b>1854</b> </div> <div class='mini-line'></div> <div class='block_zero'> <a name='3732939'></a> <img src='' /> <a href='/user/522363/'>Nik1</a>, <span class='medium'> <span class='grey'>Date1</span> </span> <br/>Mes1</div> <div class='dot-line'></div> <div class='block_zero'> <a name='3733041'></a> <img src='' /> <a href='/user/1703862/'>Nik2</a>, <span class='medium'> <span class='grey'>Date2</span> </span> <br/>Mes2</div> <div class='dot-line'></div> <div class='block_zero'> <a href='/forum/topic/192074/1'><<</a> <a href='/forum/topic/192074/185'><</a> <a href='/forum/topic/192074/182'>182</a> <a href='/forum/topic/192074/183'>183</a> <a href='/forum/topic/192074/184'>184</a> <a href='/forum/topic/192074/185'>185</a>186 > >></div> <div class='block_zero'> <form action='/forum/topic/192074?r=52418200' method='post'> <div>Сообщение: <br/> <textarea name='text' rows='4' cols='15' class='text large'></textarea> <br/> <input type='hidden' name='error' value='64764731' /> <span class='btn'> <span class='end'> <input class='label' type='submit' value='Отправить'>Отправить</span> </span> </div> </form> </div> <div class='dot-line'></div> <div class='menuList'> <li> <a href='/forum/subforum/2?r=52418200'><img src='/images/icon/arrow.png' alt=''/>Вернуться в раздел</a> </li> </div> <div class='line'></div> <br/> <div class='center'></div> </body> </html> |
Попробуйте
var blocks = document.getElementsByClassName("block_zero") ; var block = blocks.length-3 ; var text = document.getElementsByTagName("textarea")[0] ; var niks = [] ; for(var i=1; i<=block; i++) { niks[i] = blocks[i].getElementsByTagName("a")[1].innerHTML ; blocks[i].getElementsByClassName("medium")[0].getElementsByTagName("span")[0].id = i ; blocks[i].getElementsByClassName("medium")[0].getElementsByTagName("span")[0].innerHTML += ' | <span onclick="text.value=niks[this.parentNode.id]">Ответить</span>' ; } ; Вот, всё работает <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC '-//WAPFORUM//DTD XHTML Mobile 1.0//EN' 'http://www.wapforum.org/DTD/xhtml-mobile10.dtd'> <html xmlns='http://www.w3.org/1999/xhtml'> <head> <meta http-equiv='content-type' content='text/html; charset=UTF-8' /> <meta name='viewport' content='width=device-width; minimum-scale=1; maximum-scale=1'> <link rel='stylesheet' type='text/css' href='/css/main.css?54' /> <title>Title</title> </head> <body> <div> <div class='main' style='word-wrap:break-word;'> <div class='head center' onclick='location.href="/"'> <img src='' />Number1 | <img src='' />Number2</div> <div class='exp_bar'> <div class='progress' style='width:0%'></div> </div> <div class='title'>Title</div> <div class='mini-line'></div> <div class='menuList'> <li> <a class='grey' href='/forum/topic/192074?r=52418200'>Перейти к новому</a> </li> </div> <div class='dot-line'></div> <div class='block_zero'>Комментарии: <b>1854</b> </div> <div class='mini-line'></div> <div class='block_zero'> <a name='3732939'></a> <img src='' /> <a href='/user/522363/'>Nik1</a>, <span class='medium'> <span class='grey'>Date1</span> </span> <br/>Mes1</div> <div class='dot-line'></div> <div class='block_zero'> <a name='3733041'></a> <img src='' /> <a href='/user/1703862/'>Nik2</a>, <span class='medium'> <span class='grey'>Date2</span> </span> <br/>Mes2</div> <div class='dot-line'></div> <div class='block_zero'> <a href='/forum/topic/192074/1'><<</a> <a href='/forum/topic/192074/185'><</a> <a href='/forum/topic/192074/182'>182</a> <a href='/forum/topic/192074/183'>183</a> <a href='/forum/topic/192074/184'>184</a> <a href='/forum/topic/192074/185'>185</a>186 > >></div> <div class='block_zero'> <form action='/forum/topic/192074?r=52418200' method='post'> <div>Сообщение: <br/> <textarea name='text' rows='4' cols='15' class='text large'></textarea> <br/> <input type='hidden' name='error' value='64764731' /> <span class='btn'> <span class='end'> <input class='label' type='submit' value='Отправить'>Отправить</span> </span> </div> </form> </div> <div class='dot-line'></div> <div class='menuList'> <li> <a href='/forum/subforum/2?r=52418200'><img src='/images/icon/arrow.png' alt=''/>Вернуться в раздел</a> </li> </div> <div class='line'></div> <br/> <div class='center'></div> <script> var blocks = document.getElementsByClassName("block_zero") ; var block = blocks.length-3 ; var text = document.getElementsByTagName("textarea")[0] ; var niks = [] ; for(var i=1; i<=block; i++) { niks[i] = blocks[i].getElementsByTagName("a")[1].innerHTML ; blocks[i].getElementsByClassName("medium")[0].getElementsByTagName("span")[0].id = i ; blocks[i].getElementsByClassName("medium")[0].getElementsByTagName("span")[0].innerHTML += ' | <span onclick="text.value=niks[this.parentNode.id]">Ответить</span>' ; } ; </script> </body> </html> |
text is not defined
|
Данный скрипт должен выполняться в greasemonkey, если бы можно было добавить его на страницу, то проблем никаких не было.
|
Nexus, а, тогда извините, ничем не могу помочь, с greasemonkey не знаком
|
Hekumok, Спасибо за уделенное время.
|
Часовой пояс GMT +3, время: 17:36. |