Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

Сustom Buttons » Custom Buttons » 05-04-2015 13:23:03

в процессе работы кнопки появляются значения которые нужно как-то сохранить. Очень хочется чтобы эти значения сохранялись в текстовый файл, но, как я понял, средствами javascript это сделать очень непросто. Посоветуйте пожалуйста как лучше поступить. Нужно чтобы при совпадении определённых условий значение переменной куда-нибудь записывалось, чтобы после окончания работы кода эти записи можно было увидеть.

заранее спасибо!

Сustom Buttons » Custom Buttons » 18-03-2015 21:31:12

т.е. нельзя сделать файл при запуске которого выполнялся бы указанный выше скрипт? (просто запуск по двойному клику. не из экселя)

как правильно создать внешний скрипт? при копировании кода в файл ex.js после его запуска появляется вот такая ошибка
a8ceE5Q.png

Сustom Buttons » Custom Buttons » 18-03-2015 00:09:22

спасибо, но мне всё же нужно "поменять свечи через выхлопную"...

вот в кратце что хочу:
сейчас есть кнопка с кодом работающим с активной вкладкой.
я хочу сделать чтобы запуск кода происходил не из custom buttons, а из экселя. Я сделал макрос запускающий при определённых обстоятельствах файл скрипта .js. Теперь осталось сделать 2 вещи:
1. корректно перенести код из кнопки в файл .js
2. т.к. запуск скрипта будет происходить не из браузера, то, видимо, в коде скрипта нужно прописать что работать нужно с открыой вкладкой отрытого браузера

код кнопки вот:

скрытый текст
var lnks=window.content.document.getElementsByTagName("A");//получаем все ссылки со страницы
// запускаем перебор элементов
for (var i = 0; i < lnks.length ; i++){
if (lnks[i].href){
if (lnks[i].href.indexOf('runaway')!==-1){ //ищем среди них нужную
lnks[i].click();//клик по ссылке если условие выполнено
  }
}
}

буду очень признателен за помощь по этим 2м пунктам

Сustom Buttons » Custom Buttons » 16-03-2015 22:12:50

с прошлым вопросом разобрался - просто аккуратно ещё раз переписал код и всё заработало как надо!

подскажите пожалуйста вот что, если не сложно, можно ли вот этот код кнопки :

скрытый текст
var lnks=window.content.document.getElementsByTagName("A");//получаем все ссылки со страницы
// запускаем перебор элементов
for (var i = 0; i < lnks.length ; i++){
if (lnks[i].href){
if (lnks[i].href.indexOf('runaway')!==-1){ //ищем среди них нужную
lnks[i].click();//клик по ссылке если условие выполнено
  }
}
}

записать в виде файл скрипта .js, чтобы код исполнялся при запуске файла?
и как в нём указать адрес конкретной страницы вместо адреса активного окна браузера?

заранее большое спасибо!

Сustom Buttons » Custom Buttons » 14-03-2015 22:15:58

понял. спасибо большое за советы! буду разбираться

Сustom Buttons » Custom Buttons » 14-03-2015 13:08:56

okkamas_knife пишет

Текст следующего после найденного тега и lnks[i+1] совсем разные вещи

может я неправильно выразился..в коде страницы это выглядит так:
<td align="right">Ловкость:</td>
<td><b>14</b></td>
и вот этот код:

скрытый текст
var lnks=window.content.document.getElementsByTagName("td");//получаем все ссылки со страницы
// запускаем перебор элементов
for (var i = 0; i < lnks.length ; i++){
if (lnks[i].textContent){
if (lnks[i].textContent.indexOf('Ловкость')!==-1){
 
  stat_l=parseInt(lnks[i+1].textContent,10)
if (stat_l <60){
  alert(stat_l)
//alert(lnks[i+1].textContent+"1");
attack = 1;
//alert("в бой");

//if (lnks[i+1].textContent <60){
//alert(lnks[i+1].textContent+"1");
//attack = 1;
  }else{
//alert(lnks[i+1].textContent+"0");
attack = 0;
  alert(stat_l)
  }
  }
  }
  }
 
if (attack==0){
alert("мимо")
}else{
alert("в бой")
}


корявенько, но справляется с тем чтобы на выходе дать значение attack 0 или 1 и по этой процедуре вопросов нет

вопр

Сustom Buttons » Custom Buttons » 14-03-2015 11:56:52

алгоритм очень несложный:
в коде текущей странице ищется в тексте тегов "td" ищется слово "Ловкость".
Текст следующего после найденного тега сравнивается с числом 60
если меньше 60, то attack=1
если больше 60, то attack=0

далее в коде текущей страницы в ссылках тегов "А" ищем определённые куски текста.
если attack=1, то один набор "кусков"
если attack=0, то другой набор "кусков"
и при совпадении кликаем ссылку

немного обновил код, как мне кажется он стал правильнее...но всё равно не работает (

[spoiler]var lnks=window.content.document.getElementsByTagName("td");//получаем все ссылки со страницы
// запускаем перебор элементов
for (var i = 0; i < lnks.length ; i++){
if (lnks[i].textContent){
if (lnks[i].textContent.indexOf('Ловкость')!==-1){
 
  stat_l=parseInt(lnks[i+1].textContent,10)
if (stat_l <60){
  alert(stat_l)
//alert(lnks[i+1].textContent+"1");
attack = 1;
alert("в бой");

//if (lnks[i+1].textContent <60){
//alert(lnks[i+1].textContent+"1");
//attack = 1;
  }

Сustom Buttons » Custom Buttons » 14-03-2015 10:02:29

хорошо! но тут проблема не в этом. В данном случае сравнение всётаки происходит, что подтверждается если поставить алерты.
проблема где-то дальше...

внёс проверку на число - всё по прежнему.
вот такой код работает:

скрытый текст
var lnks=window.content.document.getElementsByTagName("td");//получаем все ссылки со страницы
// запускаем перебор элементов
for (var i = 0; i < lnks.length ; i++){
if (lnks[i].textContent){
if (lnks[i].textContent.indexOf('Ловкость')!==-1){
 
  stat_l=parseInt(lnks[i+1].textContent,10)
if (stat_l <60){
  alert(stat_l)
//alert(lnks[i+1].textContent+"1");
attack = 1;
alert("в бой");

//if (lnks[i+1].textContent <60){
//alert(lnks[i+1].textContent+"1");
//attack = 1;
  }else{
//alert(lnks[i+1].textContent+"0");
attack = 0;
  }
  }
  }
  }
 
if (attack==0){
alert("мимо")
}else{
alert("в бой")
}


если вместо алертов в конце поставить поиск ссылок - не работает.

[spoiler]var lnks=window.content.document.getElementsByTagName("td");//получаем все ссылк

Сustom Buttons » Custom Buttons » 14-03-2015 09:10:29

помогите пожалуйста разобраться в чём ошибка. Структура кода такая:

attack = 0;
for (var i = 0; i < lnks.length ; i++){
if (условие1){
if (условие2){
if (условие3){
attack = 1;
alert(attack);
  }
  }
 
  if (условие4){
    lnks[i].click();
}
if (условие5){
    if (условие5){
    lnks[i].click();
    }
}
 
  }
  }

такое ощущение что я где-то перемудрил с фигурными скобками
если убрать кусок с условиями 4 и 5, то всё работает..но они нужны
и ещё, если не сложно, подскажите когда нужно (и когда не нужно) ставить в конце строки ";"

если что вот сам код:
[spoiler]var lnks=window.content.document.getElementsByTagName("td");//получаем все ссылки со страницы
// запускаем перебор элементов
attack = 0;
for (var i = 0; i < lnks.length ; i++){
if (lnks[i].textContent){


if (lnks[i].textContent.indexOf('Ловкость')!==-1){
if (lnks[i+1].textContent <60){
//alert(lnks[i+1].textContent+"1");
attack = 1;
alert("в бой");
}else{
//alert("мимо");
  }
  }
 
  if (lnks[i].href.indexOf('move=left

Сustom Buttons » Custom Buttons » 10-03-2015 00:39:47

okkamas_knife пишет
lvlaksim пишет

среди всех ссылок текущей страницы ищется ссылка содержащая в себе определённый текст. По этой ссылке происходит переход

скрытый текст

Выделить код

Код:

var lnks=window.content.document.getElementsByTagName("A");//получаем все ссылки со страницы
// запускаем перебор элементов
 for (var i = 0; i < lnks.length ; i++){ 
 if (lnks[i].textContent){
 if (lnks[i].textContent.indexOf('Обсуждение расширений')!==-1){ //ищем среди них нужную
lnks[i].click();//клик по ссылке если условие выполнено
  }
 }
 }

спасибо за столь быстрый ответ! это нереально круто!
правда нужно было немножко другое - чтобы он искал не по отображаемому тексту, а именно по тексту из которого состоит сама ссылка. В случае с "Обсуждение расширений" нужно чтобы он искал "id=28"

спасибо вам огромное заранее!

Сustom Buttons » Custom Buttons » 09-03-2015 23:48:01

если не очень сложно подскажите пожалуйста код для кнопки при нажатии которой происходило бы:

среди всех ссылок текущей страницы ищется ссылка содержащая в себе определённый текст. По этой ссылке происходит переход

заранее огромное спасибо!

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]