Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2015, 07:52   #1
Foreseen
Техножрец
Форумчанин
 
Аватар для Foreseen
 
Регистрация: 04.07.2014
Сообщений: 289
По умолчанию document.getElementById (JS)

День добрый.
С js-скриптами никогда не работал, а тут приспичило. Передо мной встала задача по заполнению полей логин-пароль на странице авторизации. Пошел через создание расширения для браузера, немного гугления, курения и на свет появилось двухстрочное решение моей проблемы.

Манифест
Код:
{
    "name": "Helloworld",
    "version": "1.0",
     "manifest_version": 2,
     "content_scripts": [
        {
            "matches": [ "http://*/*" ],
            "js": [ "content_scripts/1.js" ],
            "run_at": "document_end"
        }
    ]
}
Скрипт
Код:
document.getElementById('rcmloginuser').value="login";
document.getElementById('rcmloginpwd').value="password";
И оно вполне годно работает на любых других форумах, сайтах и т.д., а там, где надо, как на зло, начинает выё... выпендриваться.
Прикрутил туда в скрипт небольшой баннер, как индикатор работы. Там, где все работает - сначала загружается страничка, потом вылезает баннер, а там, где мне надо, чтоб работало - сначала вылезает баннер, затем он закрывается фоном и полями авторизации. Естесственно, поля пустые. Как это возможно? Почему запуск скрипта проходит раньше загрузки странички?
Помогите разобраться, а то я уже пью валерьянку на брудершафт с котом.
— Двери есть везде. Просто нужно знать, как в них войти.
Foreseen вне форума Ответить с цитированием
Старый 23.07.2015, 08:51   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну пока ничего не понятно...
Цитата:
Почему запуск скрипта проходит раньше загрузки странички?
А где ты его описал? Не в onload() для body? Угадал?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.07.2015, 09:06   #3
Foreseen
Техножрец
Форумчанин
 
Аватар для Foreseen
 
Регистрация: 04.07.2014
Сообщений: 289
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну пока ничего не понятно...

А где ты его описал? Не в onload() для body? Угадал?
Как я понял, при"run_at": "document_end" в манифесте, скрипт запускается после загрузки страницы.
onload сейчас попробую, если с синтаксисом не налажаю.
— Двери есть везде. Просто нужно знать, как в них войти.
Foreseen вне форума Ответить с цитированием
Старый 23.07.2015, 09:55   #4
Foreseen
Техножрец
Форумчанин
 
Аватар для Foreseen
 
Регистрация: 04.07.2014
Сообщений: 289
По умолчанию

Код:
window.onload = function () {
    document.body.innerHTML '; //тут баннер
    document.getElementById('navbar_username').value="login";
    document.getElementById('navbar_password').value="password";
}
Не работает.

А если попробовать на нашем же форуме, то работает прекрасно (ID полей я не забываю менять).
— Двери есть везде. Просто нужно знать, как в них войти.
Foreseen вне форума Ответить с цитированием
Старый 23.07.2015, 10:29   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А у тебя ASP.NET юзается?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.07.2015, 10:45   #6
Foreseen
Техножрец
Форумчанин
 
Аватар для Foreseen
 
Регистрация: 04.07.2014
Сообщений: 289
По умолчанию

Нет, нема такого у меня.
Может тебе скинуть ссылку на проблемную страничку авторизации, код глянешь, вдруг идея какая придет?
— Двери есть везде. Просто нужно знать, как в них войти.

Последний раз редактировалось Foreseen; 23.07.2015 в 10:54.
Foreseen вне форума Ответить с цитированием
Старый 23.07.2015, 11:27   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пиши сюда.
Я может и не гляну, глянут другие.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.07.2015, 11:41   #8
Foreseen
Техножрец
Форумчанин
 
Аватар для Foreseen
 
Регистрация: 04.07.2014
Сообщений: 289
По умолчанию

Нежелательно ее в паблике светить, это все таки страничка входа в вэб интерфейс почты предприятия. Желающим и надежным вышлю в лс. Вкратце - RoundCube webmail, может сталкивался кто уже.
— Двери есть везде. Просто нужно знать, как в них войти.
Foreseen вне форума Ответить с цитированием
Старый 23.07.2015, 12:18   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну тады звиняйте )
Ничем помочь не могу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.07.2015, 12:33   #10
Foreseen
Техножрец
Форумчанин
 
Аватар для Foreseen
 
Регистрация: 04.07.2014
Сообщений: 289
По умолчанию

А уже не надо, проблему смог найти
В манифесте записано "matches": [ "http://*/*" ], исправил на целевой адрес и все. Маска не подошла
— Двери есть везде. Просто нужно знать, как в них войти.

Последний раз редактировалось Foreseen; 23.07.2015 в 12:36.
Foreseen вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GetElementById не работает s500 C# (си шарп) 5 26.03.2013 12:29
кроссбраузно document.getElementById().click(); frommars JavaScript, Ajax 0 07.05.2012 11:43
getElementById Eldrich JavaScript, Ajax 4 11.11.2011 22:14
Ошибка на document.getelementbyid в ИЕ! Andrey771 JavaScript, Ajax 3 05.09.2011 20:05
особенности мозилы для document.getElementById Wi1D JavaScript, Ajax 4 29.04.2010 22:45