Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.11.2018, 08:41
Интересующийся
Отправить личное сообщение для ellexpron Посмотреть профиль Найти все сообщения от ellexpron
 
Регистрация: 12.10.2018
Сообщений: 13

Код Javascript не функционирует на сетевом диске
Добрый день!

Имеется код всплывающего списка со строкой поиска.
Код прекрасно выполняется, когда находится на локальном диске (C или D - не важно).
К сожалению, когда файл находится на сетевом диске, то код не функционирует, а именно - не осуществляется поиск и всплывающее меню не появляется.
Подскажите, пожалуйста, в чем проблема?

<!-- saved from url=(0014)about:internet -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<BODY>
<div id="podst"></div>
<INPUT type="text" class="opis" />
 
<script>
var streetArr=[
['ТЕСТ1','https://javascript.ru/forum/'],
['ТЕСТ2','https://javascript.ru/book'],
['Адрес абонентского отдела/ЦПО','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_210/3.html'],
['Время работы абонентского отдела/ЦПО','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_210/3.html'],
['Настройка роутера','http://tkc.bis.bashtel.ru/servicedesk/internet/567.html'],
['Настройка модема','http://tkc.bis.bashtel.ru/servicedesk/internet/567.html'],
['Высокоскоростное подключение/PPPoE','http://tkc.bis.bashtel.ru/servicedesk/internet/567.html'],
['Таблица скоростей ADSL/Профиль/Модуляция','http://tkc.bis.bashtel.ru/servicedesk/internet/profilskorosti_ADSL.htm'],
['Трассировка','http://tkc.bis.bashtel.ru/servicedesk/internet/111.html'],
['IP/DNS сервера','http://tkc.bis.bashtel.ru/servicedesk/mcntt/103.html'],
['Замер/тест скорости','http://tkc.bis.bashtel.ru/servicedesk/internet/56.html'],
['Виртуальный IP-офис','http://tkc.bis.bashtel.ru/servicedesk/uslugi/uslugi12.html'],
['Расчетная служба','http://tkc.bis.bashtel.ru/servicedesk/rasch/inf.html'],
['Переадресация/с домашнего на сотовый','http://tkc.bis.bashtel.ru/servicedesk/rasch/01.html'],
['АОН/Определитель номера','http://tkc.bis.bashtel.ru/servicedesk/rasch/01.html'],
['ДВО','http://tkc.bis.bashtel.ru/servicedesk/rasch/01.html'],
['Склонность к оттоку','http://tkc.bis.bashtel.ru/servicedesk/mcntt/41.html'],
['Гарантия на оборудование/роутер/модем/приставка','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_210/1.html'],
['Сроки предоставления обратной связи/ОС','http://tkc.bis.bashtel.ru/servicedesk/mcntt/74.html'],
['Разновидности кабелей/кабели','http://tkc.bis.bashtel.ru/servicedesk/mcntt/23.html'],
['Разновидности пультов/пульты','http://tkc.bis.bashtel.ru/servicedesk/mcntt/22.html'],
['Разновидности кнопок WiFi на ноутбуке','http://tkc.bis.bashtel.ru/servicedesk/mcntt/24.html'],
['IPTV 2.0','http://tkc.bis.bashtel.ru/servicedesk/raznoe/212.html'],
['Инструкции IPTV БИС','http://tkc.bis.bashtel.ru/servicedesk/uslugi/411.html'],
['Инструкции IPTV РТК','http://tkc.bis.bashtel.ru/servicedesk/uslugi/630.html'],
['Защита территорий/Акция Дорогой абонент','http://tkc.bis.bashtel.ru/servicedesk/mcntt/25.html'],
['Защита территорий ВСЕГДА НА СВЯЗИ/БУДЬ НА СВЯЗИ','http://tkc.bis.bashtel.ru/servicedesk/mcntt/25_1.html'],
['Объединение лицевых счетов','http://tkc.bis.bashtel.ru/servicedesk/uslugi/622.html'],
['Повышение стоимости тарифного плана/ТП/акции','http://tkc.bis.bashtel.ru/servicedesk/mcntt/15.html'],
['Изменение условий тарифного плана/ТП/акции','http://tkc.bis.bashtel.ru/servicedesk/mcntt/37.html'],
['Презентации','http://tkc.bis.bashtel.ru/servicedesk/mcntt/36.html'],
['Акции','http://tkc.bis.bashtel.ru/servicedesk/mcntt/SMMENU.html'],
['Тарифы','http://tkc.bis.bashtel.ru/servicedesk/mcntt/SMMENU.html'],
['Пакетные предложения','http://tkc.bis.bashtel.ru/servicedesk/mcntt/SMMENU.html'],
['Расторжение договора','http://tkc.bis.bashtel.ru/servicedesk/mcntt/8.html'],
['Игровой','http://tkc.bis.bashtel.ru/servicedesk/mcntt/98.html'],
['Вспомогательные услуги/замена кабеля/удлинение кабеля','http://tkc.bis.bashtel.ru/servicedesk/mcntt/47.html'],
['Дом24/Умный дом','http://tkc.bis.bashtel.ru/servicedesk/mcntt/100.html'],
['Антивирус Dr.Web/Доктор Веб','http://tkc.bis.bashtel.ru/servicedesk/mcntt/7.html'],
['Интернет-цензор/Родительский контроль Интернета','http://tkc.bis.bashtel.ru/servicedesk/mcntt/7.html'],
['Электронная почта','http://tkc.bis.bashtel.ru/servicedesk/mcntt/7.html'],
['Публичный Wi-Fi/вай-фай','http://tkc.bis.bashtel.ru/servicedesk/mcntt/7.html'],
['Видеоконференцсвязь','http://tkc.bis.bashtel.ru/servicedesk/mcntt/7.html'],
['Звукоусиление','http://tkc.bis.bashtel.ru/servicedesk/mcntt/7.html'],
['Хостинг','http://tkc.bis.bashtel.ru/servicedesk/mcntt/7.html'],
['Игровой портал/Торрент','http://tkc.bis.bashtel.ru/servicedesk/mcntt/7.html'],
['Карты/Таксофонная карта/IP-карта','http://tkc.bis.bashtel.ru/servicedesk/mcntt/7.html'],
['Статический/выделенный IP-адрес','http://tkc.bis.bashtel.ru/servicedesk/mcntt/7.html'],
['Программа Переезд/перенос услуг','http://tkc.bis.bashtel.ru/servicedesk/mcntt/7.html'],
['Скрипт речевой','http://tkc.bis.bashtel.ru/servicedesk/mcntt/29_1.html'],
['Скрипт по продажам','http://tkc.bis.bashtel.ru/servicedesk/mcntt/29_2.html'],
['Скрипт по Игровому','http://tkc.bis.bashtel.ru/servicedesk/mcntt/29_3.html'],
['Скрипт по работе с конфликтными абонентами','http://tkc.bis.bashtel.ru/servicedesk/mcntt/29_4.html'],
['Скрипт по работе в нестандартной ситуации','http://tkc.bis.bashtel.ru/servicedesk/mcntt/29_5.html'],
['Ростелеком переадресация/звонки не из РБ','http://tkc.bis.bashtel.ru/servicedesk/mcntt/26.html'],
['Контактные телефоны компании/справочные службы','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_210/5.html'],
['Реквизиты компании','http://tkc.bis.bashtel.ru/servicedesk/mcntt/33.html'],
['Договор в электронном виде','http://tkc.bis.bashtel.ru/servicedesk/mcntt/33.html'],
['График сканирования платежей','http://tkc.bis.bashtel.ru/servicedesk/mcntt/81_6.html'],
['Даты блокировки абонентов','http://tkc.bis.bashtel.ru/servicedesk/mcntt/81_7.html'],
['Отсрочка платежа','http://tkc.bis.bashtel.ru/servicedesk/mcntt/95.html'],
['Способы оплаты/Как оплатить','http://tkc.bis.bashtel.ru/servicedesk/mcntt/94.html'],
['Способы оповещения об оплате/Как оповещают об оплате','http://tkc.bis.bashtel.ru/servicedesk/int_pl/27.html'],
['Перерасчет начислений/абонент не согласен с начислениями','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_100/3.html'],
['Абонент хочет вернуть оборудование/Возврат оборудования','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_100/3.html'],
['Перевод денег/с одного лицевого на другой/абонент неверно оплатил','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_100/5.html'],
['Ошибочная оплата','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_100/5.html'],
['Претензия на техника/3ЛТП','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_100/6.html'],
['Претензия на абонентский отдел/ЦПО','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_100/6.html'],
['Претензия на оператора/1ЛТП','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_100/6.html'],
['Претензия на агента/ГАП','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_100/6.html'],
['Копия договора','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_100/8.html'],
['Запрос справки/Отсутствие долга','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_100/7.html'],
['Судебное извещение/Претензии по суду/Судебный приказ','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_100/9.html'],
['Алгоритм Обслуживание юридических лиц','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_210/4.html'],
['Алгоритм - Бронирование/разбронирование','http://tkc.bis.bashtel.ru/servicedesk/mcntt/16.html'],
['Алгоритм по г. Стерлитамак','http://tkc.bis.bashtel.ru/servicedesk/mcntt/13.html'],
['Алгоритм - Амедипремиум/AmediaPremium','http://tkc.bis.bashtel.ru/servicedesk/raznoe/637.html'],
['Алгоритм - Твое кино','http://tkc.bis.bashtel.ru/servicedesk/raznoe/681.html'],
['Алгоритм - СпутникТелеком','http://tkc.bis.bashtel.ru/servicedesk/mcntt/32.html'],
['Алгоритм - Кабель напрямую в ПК/компьютер/ноутбук','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_200/3.html'],
['Алгоритм - Кабель от роутера в ПК/компьютер/ноутбук','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_200/4.html'],
['Алгоритм - Подключение по WiFi','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_200/5.html'],
['Алгоритм - ADSL','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_200/6.html'],
['Алгоритм - IPTV БИС','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_200/7.html'],
['Алгоритм - IPTV РТК','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_200/7_1.html'],
['Алгоритм - Телефония','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_200/10.html'],
['Алгоритм - Кабельное ТВ/КТВ','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_200/8.html'],
['Алгоритм - Радио','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_200/9.html'],
['Алгоритм - Низкая скорость','http://tkc.bis.bashtel.ru/servicedesk/mcntt/mcntt_200/12.html']

].sort();
 
 
document.onkeyup=function(e)
{
var e=e||window.event;
var E=e.srcElement||e.target;
if(E.className=="opis")
    {
    current_Target=E;
        var autocompl='';
        var m=0;
        for(var i=0;i<streetArr.length;i++)
                {
                if(streetArr[i][0].toLowerCase().indexOf(current_Target.value.toLowerCase())!=-1)
                    {
                    autocompl+="<option value='"+streetArr[i][1]+"'>"+streetArr[i][0]+"<\/option>";m++;
                    }
                }
        if(autocompl!="")
            {if(m>20){m=20}
            document.getElementById("podst").innerHTML='\
            <select  \
             multiple size='+m+' >'+autocompl+'<\/select>';
            }
        else{}
    }
}
document.onclick=function(e){ 

   var e=e||window.event;
   var E=e.srcElement||e.target;
   if(E.tagName=="OPTION" || E.value && E.tagName=="SELECT") {
      window.location = E.value;
   }
}
</SCRIPT>
</BODY>
</html>


Когда работают в ПО "CssMagic", то при срабатывании кода появляется ошибка:


Последний раз редактировалось ellexpron, 19.11.2018 в 11:59. Причина: Решено.
Ответить с цитированием
  #2 (permalink)  
Старый 15.11.2018, 09:23
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

https://beautifier.io/
Похоже один из элементов массива streetArr равен нулю либо цикл выходит за пределы массива, однако я не вижу в коде ситуации, при которой значение переменной i станет больше или равно длине массива.

ps. вместо того, чтобы каждый раз выполнять одну и ту же операцию current_Target.value.toLowerCase() можно было бы выполнить её единожды, сохранив результат в переменную и дальше работать уже с этой переменной.
Также вам стоит более осмысленно подходить к именованию переменных, да и соблюдать code style было бы неплохо.

Последний раз редактировалось Nexus, 15.11.2018 в 09:26.
Ответить с цитированием
  #3 (permalink)  
Старый 15.11.2018, 09:37
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,126

Вылетел за границы массива в 114 строке. streetArr.length - 1
Ответить с цитированием
  #4 (permalink)  
Старый 15.11.2018, 09:50
Интересующийся
Отправить личное сообщение для ellexpron Посмотреть профиль Найти все сообщения от ellexpron
 
Регистрация: 12.10.2018
Сообщений: 13

Сообщение от MallSerg Посмотреть сообщение
Вылетел за границы массива в 114 строке. streetArr.length - 1
Благодарю! Ошибка выполнения сценария не появляется, но проблема с тем, что скрипт не работает на сетевом диске - сохраняется. Скрипт на локальном диске работает, а на сетевом - нет.
Ответить с цитированием
  #5 (permalink)  
Старый 15.11.2018, 10:01
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

Сообщение от MallSerg
Вылетел за границы массива в 114 строке.
Можете пояснить?
По-моему там нет ошибки.
var arr=[1,2,3], res='';
for(var i=0;i<arr.length;i++)
	res+=arr[i]+' ';

alert(res);
Ответить с цитированием
  #6 (permalink)  
Старый 15.11.2018, 10:28
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,126

В теории должно работать.
Просто в сообщении об ошибке написано где и что сломалось.

Последний раз редактировалось MallSerg, 15.11.2018 в 10:42.
Ответить с цитированием
  #7 (permalink)  
Старый 15.11.2018, 10:40
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

MallSerg, ну так нету же выхода за пределы массива...
Ответить с цитированием
  #8 (permalink)  
Старый 15.11.2018, 11:12
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,126

Сообщение от Nexus Посмотреть сообщение
MallSerg, ну так нету же выхода за пределы массива...
В нормальных браузерах да. Но возможно используется ненормальный браузер. Остается только гадать в каком окружении оно работает.

Цитата:
Скрипт на локальном диске работает, а на сетевом - нет.
Слишком мало информации. возможно не правильно указываешь пути до файла https://ru.wikipedia.org/wiki/File_(...%D0%B2_Windows.

Правильно для таких целей использовать веб сервер.
Ответить с цитированием
  #9 (permalink)  
Старый 15.11.2018, 11:43
Интересующийся
Отправить личное сообщение для ellexpron Посмотреть профиль Найти все сообщения от ellexpron
 
Регистрация: 12.10.2018
Сообщений: 13

Сообщение от MallSerg Посмотреть сообщение
В нормальных браузерах да. Но возможно используется ненормальный браузер. Остается только гадать в каком окружении оно работает.


Слишком мало информации. возможно не правильно указываешь пути до файла https://ru.wikipedia.org/wiki/File_(...%D0%B2_Windows.

Правильно для таких целей использовать веб сервер.
Путь указываю следующего вида - http://tkc.bis.bashtel.ru/servicedesk/mcntt/search.html

Открывается сама страница через программу компании, которая работает на IE, но какая версия НЕИЗВЕСТНО Возможно это сделать через "Просмотр HTML-кода"?
На версии IE11 все работает прекрасно.


Последний раз редактировалось ellexpron, 15.11.2018 в 11:49.
Ответить с цитированием
  #10 (permalink)  
Старый 15.11.2018, 12:02
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

Сообщение от MallSerg
Но возможно используется ненормальный браузер.
Если такой браузер не может банально перебрать в цикле массив, то под него невозможно код писать, ибо как он его исполнит неизвестно.

ellexpron, попробуйте после 113 строки написать это:
return void document.write(JSON.stringify(streetArr));

То что на странице появится после клика на элемент с классом "opis" напишите здесь.
Может сортировка криво работает и убивает некоторые элементы, это все-таки ie.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Как убрать зашифрованный код на javascript в footer'е WP Foster Общие вопросы Javascript 4 25.09.2010 09:47
javascript c сайта, как получить код sergeykrk Общие вопросы Javascript 1 05.12.2009 10:48
На много ли код jQuery медленнее чистого javascript format1981 jQuery 8 06.11.2009 10:42
Расшифруйте код javascript sochinec Общие вопросы Javascript 7 01.08.2009 23:51