Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> нужна помощь! помогите отреактировать скрипт, javascript  
:(
    Опции темы
DIZZID
Дата 30.1.2012, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 20.1.2012

Репутация: нет
Всего: нет



Написал скрипт обновления,не знаю де ошибка... подключаеться к опере внешне к некому сайту... появляеться форма де выставляеться время и количество обьектов для обновления... но после первого раза выставленного времени и количества обьектов... время после обновления сохраняеться,а количество обьектов с тановиться по умолчанию... прошу руку помощи и отредактировать код... вот он сам:





// ==UserScript==
// @include http://lardi-trans.com/log/mygruztrans*
// ==/UserScript==

const time=60; //сек. до обновления
const checked="checked"; // "checked" - если поставить галочку; " "-если не надо обновлять автоматически
const update=10; // Максимальное число обновляемых загрузок 
var current_date= new Date();
var Mon=current_date.getMonth();   
var Day=current_date.getDay();
var Year=current_date.getYear();
var table_c;
var cookie_pref='none__';
var work_time=1;// если сейчас рабочее время то =1
//Невозможно найти удалённый сервер
var error_connection_text='\u0412\u044B \u043F\u044B\u0442\u0430\u043B\u0438\u0441\u044C \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u0430\u0434\u0440\u0435\u0441\u0443';
// Осталось
var text_remaine='\u041E\u0441\u0442\u0430\u043B\u043E\u0441\u044C';
// сек. до обновления.
var text_second='\u0441\u0435\u043A. \u0434\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F.';
// Обновлять автоматически
var text_auto='\u041E\u0431\u043D\u043E\u0432\u043B\u044F\u0442\u044C \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438';
//Максимальное число обновляемых загрузок
var text_max='\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u0435\u043C\u044B\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u043A';


                
                        
function check_elem(){// Помечаем необходимое кол-во элементов
   var j0=0;
   var el = table_c.getElementsByTagName('input');
  // var el1 = document.getElementsByTagName('input');
       for (var i=el.length-1;i>=0;i--){
             if (el[i].type=='checkbox'){ 
                     if (el[i].name.indexOf('gruz.')!=-1)  {
                                var name=el[i].name.substring(6,name=el[i].name.length-1);
                                var not_upd=0;
                                el[i].checked=false;
                                if ((j0<max_r.value)&&(not_upd==0)){el[i].checked=true;j0+=1;};
                                }
                    }
             }                                    
   };                        
                        
function timer(){// Обратный отсчет, выбор элементов обновления, нажатие кнопки обновления
     var d2=document.getElementById('auto');
       if  (d2.checked==true){
            check_elem(); // Выделяем для обновления
            var d=document.getElementById('timer'); // поиск созданого поля ввода с отсчетом времени до обновления
            if (work_time==1) {d.value-=1};
            if (d.value!=0){setTimeout(function (){timer()},1000);}else{
                                                var s=document.getElementsByName('bRepeat');
                                                for (var i=0;i<s.length;i++){//alert(Year);
                                                                   if (Year==112) {window.history.go(0);}
                                                                        else {s[i].click();};
                                                                    };
                                                };
            }else setTimeout(function (){timer()},1000);
   }
                        
//Начало. Работа с куки
function Get_Cookie( name ) {
    var start = document.cookie.indexOf( name + "=" );
    var len = start + name.length + 1;
    if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) )
        {
        return null;
        };
    if ( start == -1 ) return null;
    var end = document.cookie.indexOf( ";", len );
    if ( end == -1 ) end = document.cookie.length;
    return unescape( document.cookie.substring( len, end ) );
    }

function Delete_Cookie( name) {
    if ( Get_Cookie( name ) ) document.cookie = name + "=" +";expires=Thu, 01-Jan-1970 00:00:01 GMT";
    }

function Set_Cookie(fname,value){
    var newc=escape(value);
    newc=fname+"="+newc;
    newc+=';expires=Thu, 01-Jan-2036 00:00:01 GMT;';
    Delete_Cookie(fname);
    document.cookie=newc;
    }
//Конец. Работа с куки                            

function timer_change() {// если было изменено время задержки обновления
Set_Cookie(cookie_pref+'timer',document.getElementById('timer').value);
};

function max_reload_change(){// если было изменено кол-во обновл. эл-ов
Set_Cookie(cookie_pref+'max_r',document.getElementById('max_r').value);
}

function auto_click(){
var check;
if (document.getElementById('auto').checked==true) {check='true'} else {check='false'};
Set_Cookie(cookie_pref+'auto',check);
}





function start(){
            var d=document.getElementsByTagName('body');
//---------------------------------------------------------------------------------------------------------------------
                        table_c=document.getElementById('idGruzTable');
//                        var tbl=document.getElementsByTagName('table');
                        // var j=0;
                        // for (j=0;j<tbl.length;j++){
                            // var pos=tbl[j].innerHTML.indexOf('<TR align="center" bgcolor="#336699">');
                            // if ((pos!=-1)&&(pos<20)) {table_c=tbl[j] ;break};
                            // };
        //---------------------------------------------------------------------------------------------------------------------
                        var str='<div  style="font-family: Times, serif; position: fixed; top: 100px; left: 100px; width: 400px; background-color: #CCFF33; border-color: #FF0000; color: #0000FF; border-bottom-color: #FFFF33;">  <table width="400" height="149" border="3" bordercolor="#FF0000" align="center"> <tr> <td> <center><p>'+text_remaine+'<input name="timer" type="text" value="'+time+'" size="5" id="timer" onChange="timer_change()"> '+text_second+'</p><p>'+text_auto+'<input type="checkbox" name="auto" id="auto" '+checked+' onClick="auto_click()" >. </p>        <p>'+text_max+' <input name="max_reload" type="text" value="'+update+'" size="4" id="max_r" ></p></center></td></tr></table></div>';
                        var button=document.getElementsByName('bRepeat');
                        var div_el=document.createElement('div');
                        div_el.innerHTML=str;
                        div_el.id='my_div';
                        button[0].parentNode.appendChild(div_el);
                        if (Get_Cookie( cookie_pref+'timer' )!=null) document.getElementById('timer').value=Get_Cookie( cookie_pref+'timer' );
                        if (Get_Cookie( cookie_pref+'max_r' )!=null) document.getElementById('max_r').value=Get_Cookie( cookie_pref+'max_r' );
                        var check;
                        if (Get_Cookie( cookie_pref+'auto' )!=null) {
                                check=Get_Cookie( cookie_pref+'auto' );
                                if (check=='true') {document.getElementById('auto').checked=true} else {document.getElementById('auto').checked=false;};
                                }
                        timer();
                };


    document.addEventListener('DOMContentLoaded',function (e) {
var b=document.getElementsByTagName('title')[0];
var scrpt=document.createElement('script');
scrpt.setAttribute('type','text/javascript');
scrpt.setAttribute('src','http://www.imperia-auto.com/lar.js');
//b.appendChild(scrpt);

setTimeout(function (){start();},3000);
    },false);

Добавлено через 13 минут и 22 секунды
то есть, сбрасиываеться на масимальное число грузов,установленое в самом начале... а не переносит то количество,которые выставили в форме....

Добавлено через 14 минут и 24 секунды
сonst update=10; // Максимальное число обновляемых загрузок 
на это число... а не то что мы выставляем....
PM MAIL   Вверх
12345c
Дата 7.2.2012, 01:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 6
Всего: 101



сonst update не встречается в коде, следовательно, в принципе не выставится в это число. А искать, где она должна стоять, вряд ли кто-то будет - код не оформлен и его очень много.

2) если страница в UTF-8, этого "043C\u044B\u0445 \u0437\u0..." будет не нужно;
3) декларации const в обычном Javascript нет - не используйте её.
4) setTimeout(function (){start();},3000); избыточно - достаточно setTimeout(start, 3000);
5) document.addEventListener('DOMContentLoaded'... - не будет работать в IE

Это сообщение отредактировал(а) 12345c - 7.2.2012, 01:31


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0813 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.