Перезагрузка при именении опций браузера и set_user_agent

Если вы обнаружили какие либо ошибки, недочеты и неудобства или другие незачеты в программе напишите нам об этом на этом форуме - мы бум исправлять
Закрыто
oneer
Сообщения: 53
Зарегистрирован: 15 июн 2009, 21:53

Перезагрузка при именении опций браузера и set_user_agent

Сообщение oneer » 28 ноя 2009, 21:34

Хм, только что перешел с версии 2.9.12 на последнюю 3.0.11 и первое разачерование. Сначал даже не понял, т.к. в старом такого не было.

При использовании функции $browser->set_user_agent($accept_string); броузер перезагружается... но зачем? :shock:
Раньше такого не было. Это же так не удобно. Дальше - больше!!! Оказывается при использование любой функции из сервис-настройка-броузер программа перезагружает текущую страничку. Ребята, зачем это так сделано? Если мне нужно перезагрузить, то я использую функцию refresh, а вот если мне не нужно рефрешить, то обратно не вернуть. Я бы был, очень благодарен вам, если бы все вернулось на место!

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

P.s. Вау, ребята!!! Только что заметил, что меняется теперь и user-agent в ява. Это круто!
Последний раз редактировалось oneer 28 ноя 2009, 22:20, всего редактировалось 2 раза.

oneer
Сообщения: 53
Зарегистрирован: 15 июн 2009, 21:53

Сообщение oneer » 28 ноя 2009, 22:18

Ох. Пока ковырялся, нашел интересную ошибку в user-agent броузера. Буду оперировать двумя понятиями: функция php - $_SERVER['HTTP_USER_AGENT'] (буду называть php useragent)и JavaScript - navigator.userAgent (java useragent для краткости).
Я так понял, теперь эмулятор и подменяет не только для php, как раньше, а теперь и для явы. За это просто пять баллов. Но я нашел такую нестыковку:
1. При запуске эмулятора php useragent равен тому, что мы установили в последний раз, java useragent сбрасывается и равен у меня версии моего internet explorer.
2. При первом применении $browser->set_user_agent($useragent); меняется только java useragent, php useragent остается тем же. Нужно применить еще раз $browser->set_user_agent($useragent); с той же строчкой $useragent, и тогда все норма. Т.е. У меня получилось так, чтобы поменять user-agent, нужно сделать так:

$useragent="Opera/9.64 (Windows NT 6.0; U; en) Presto/2.1.1";
$browser->set_user_agent($useragent);
$browser->set_user_agent($useragent);

Итоги:
1. При запуске эмулятора сделать java useragent таким же, как и обычный user-agent.
2. Использование 2-х функций подряд - довольно странно. Думаю это можно исправить.
3. И все же у меня вопрос, зачем перегружается страница при использовании $browser->set_user_agent. Было бы удобно добавить еще аргумент типа bool в функцию, перегружать или нет.

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

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3047
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Сообщение bigfozzy » 11 дек 2009, 23:10

все 3 пункта сделаны в 3.0.17

Закрыто