Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.01.2013, 09:36
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

Простой скрипт под 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>';
}



Помогите заставить работать скрипт, заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 02.01.2013, 10:40
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

вот (код не проверял)
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>';
} ;
__________________
★ ²º¹³ ☆
Ответить с цитированием
  #3 (permalink)  
Старый 02.01.2013, 16:22
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

nik is not defined
Не работает.
Ответить с цитированием
  #4 (permalink)  
Старый 02.01.2013, 16:51
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Nexus, приведите html-код страницы
__________________
★ ²º¹³ ☆
Ответить с цитированием
  #5 (permalink)  
Старый 02.01.2013, 17:05
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

<?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>
Ответить с цитированием
  #6 (permalink)  
Старый 02.01.2013, 18:31
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Попробуйте
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>
__________________
★ ²º¹³ ☆
Ответить с цитированием
  #7 (permalink)  
Старый 02.01.2013, 18:46
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

text is not defined
Ответить с цитированием
  #8 (permalink)  
Старый 02.01.2013, 18:49
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

Данный скрипт должен выполняться в greasemonkey, если бы можно было добавить его на страницу, то проблем никаких не было.
Ответить с цитированием
  #9 (permalink)  
Старый 02.01.2013, 19:02
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Nexus, а, тогда извините, ничем не могу помочь, с greasemonkey не знаком
__________________
★ ²º¹³ ☆
Ответить с цитированием
  #10 (permalink)  
Старый 02.01.2013, 19:05
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

Hekumok, Спасибо за уделенное время.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простой скрипт поиска! DanilS Общие вопросы Javascript 0 29.10.2012 14:20
не работает скрипт под мозилой kent666 Events/DOM/Window 2 10.10.2011 17:54
скрипт на сайт под Джумлой, не работает в FF matysse Элементы интерфейса 1 11.10.2010 21:14
Скрипт под форумы vB UndeadDragon Opera, Safari и др. 0 19.09.2009 18:22
Люди, помогите адаптировать скрипт под Оперу KiLLk Opera, Safari и др. 1 01.06.2009 01:05