Автор Тема: Web Тестване  (Прочетена 21407 пъти)

villimon

  • Напреднали
  • *****
  • Публикации: 65
    • Профил
Web Тестване
« -: Jun 26, 2016, 17:04 »
Здравейте,

Опитвам да си направя проста система за преглеждане не web приложения. Имам два ifram-a и се опитвам заявката от единия да е с мобилен user-agent, а от другия с десктоп user-agent. Можете ли да ми кажете как мога да променя user-agent нa заявката или на браузъра през JavaScript?
Активен

NorthBridge

  • Напреднали
  • *****
  • Публикации: 177
  • Distribution: Slackware-current
  • Window Manager: Enlightenment E17
  • Mad Tinkerer
    • Профил
Re: Web Тестване
« Отговор #1 -: Jun 27, 2016, 00:10 »
Мда.

User agent-a се съдържа в един от многото хедъри които браузъра праща към сървъра когато пуска заявка. В настройките на повечето човешки браузъри трябва да има на лесно или трудно достъпно място начин да го смениш ръчно, но тогава ще се праща навсякъде, а ти искаш на две места да е различен всеки път. Има едно разширение User Agent Switcher за Firefox, предполагам ще има подобно за Chrome и компания. Другия вариант е да изтеглиш add-on като Postman за Chrome, променяш хедъра, пращаш заявка, копи-пействаш резултата в някой HTML файл, или някое разширение за директно рендиране като HTMLfire и си готов.

Апропо, ако целта ти наистина е да си правиш система за преглеждане на мобилни приложения, на практика ти играеш ролята на прокси. Така че хващаш заявката на клиента заедно с хедърите, променяш User agent хедъра и го засилваш към сайта който искаш да видиш. Само че за това ще ти трябва примерно един скрипт на PHP или някой друг език (сигурно има някакъв начин с вградените модули на уеб-сървъра, ама не мисля че си струва времето и патроните). Там обаче не мога да ти помогна без да знам повече инфо.

Поздрави и бира  [_]3
Активен

I did a 'zcat vmlinuz > /dev/audio' and I think I heard God...

villimon

  • Напреднали
  • *****
  • Публикации: 65
    • Профил
Re: Web Тестване
« Отговор #2 -: Jun 28, 2016, 09:22 »
User-Agent Switcher ми изглежда доста прилично. Знаеш ли дали има вариянт за динамична промяна на User-Agent-та
Активен

remotexx

  • Напреднали
  • *****
  • Публикации: 3210
    • Профил
Re: Web Тестване
« Отговор #3 -: Jun 28, 2016, 20:25 »
За съжаление User-Agent Switcher може да изглежда добре, но не поддържа тази функционалност.
Аз ползвам User Agent Switcher, URL sniffer (за съжаление само за Хром) ..може да изглежда зле/грозно/ но пък поддържа шаблони и става номера  ;)
вж. секция:
* User pattern

А за прокси (ако ти се наложи) ползвам FoxyProxy
има опция да указваш кое прокси за кои адреси да се ползва и то не само като хост ами по произволно съвпадение в адреса т.е. ако 2-те рамки са ти от един и същи сървър но част от адреса е различна пак ще може да се настрои двете да се зареждат през различни проксита.
Edit Selection -> Url Patterns
HTH
« Последна редакция: Jun 28, 2016, 20:44 от remotexx »
Активен

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Web Тестване
« Отговор #4 -: Jun 28, 2016, 20:51 »
Проблема на FoxyProxy, че от едно 15 години и повече вече няма безплатни proxy-та, което го прави абсолютно безполезен.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

villimon

  • Напреднали
  • *****
  • Публикации: 65
    • Профил
Re: Web Тестване
« Отговор #5 -: Jun 29, 2016, 09:15 »
Ще уточня малко. Имам два iframе-a да кажем iframe1 и iframe2. В iframe1 искам да заредя http://www.alabala.com с Android user-agent в iframe2 искам да заредя http://www.alabala.com с Desktop Linux user-agent. Сещате ли се за някакъв начин?
Активен

remotexx

  • Напреднали
  • *****
  • Публикации: 3210
    • Профил
Re: Web Тестване
« Отговор #6 -: Jun 29, 2016, 20:39 »
Ами с тоя измислен сайт мога само да гадая.. но все-пак
пробвай с User Agent Switcher, URL sniffer
само че единия адрес го попромени малко но пак да редиректва към същия сайт т.е. само колкото User Agent Switcher, URL sniffer да приложи различен агент
напр. (избери си 2 различни но работещи адреса от долните и си напиши правилата 'внимателно')
http://alabala.com
http://alabala.com/
http://www.alabala.com
http://www.alabala.com/
http://www.alabala.com/?
http://www.alabala.com/index.html
http://www.alabala.com/default.html
Активен

villimon

  • Напреднали
  • *****
  • Публикации: 65
    • Профил
Re: Web Тестване
« Отговор #7 -: Jun 29, 2016, 20:49 »
Ами с тоя измислен сайт мога само да гадая..

Извинявай вероятно аз съм виновен но не разбирам. Щом ще е по лесно да ме посъветвате ще ви дам реален пример.

http://www.google.com/

има различно поведение при мобилно и десктоп устройство адреса е един и същ единствено заявката се прави от различни агенти.

Активен

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
Re: Web Тестване
« Отговор #8 -: Jun 29, 2016, 21:06 »
Това с JS няма да стане поради няколко причини, като една от тях е cross-origin-policy.

Ако сървърите са твои и имаш шанса, може да сложиш един SQUID PROXY и да прекарваш фреймовете през проксито, а от проксито да смениш user agent-a.
Лично аз за друг работещ без проблеми вариант се не сещам :)
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3395
    • Профил
Re: Web Тестване
« Отговор #9 -: Jun 29, 2016, 21:50 »
Ако ти се прорамира на пхп това може да стане с curl

Фетчваш страницата с curl и след това я изобразяваш. CURL има много опции включително и за юзер агента. Т. Е това е все едно че си правиш собствено пнп прокси.

Обаче юзер агента не достатъчен за пфевключване на мобилно.  Това е доста остарял начин.

Мобилното превключване се прави изцяло с СSS и @media тага.  Превключването става изцяло по точки.  Например ако екрана е по малко от 360 точки превключва

https://en.m.wikipedia.org/wiki/Media_queries

Така че ще трвбва да ограничиш размера на екрана iframe за да се изобрази мобилно ако сайта е така направен
« Последна редакция: Jun 29, 2016, 21:58 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

villimon

  • Напреднали
  • *****
  • Публикации: 65
    • Профил
Re: Web Тестване
« Отговор #10 -: Jun 30, 2016, 05:45 »
Опасявах се че няма да стане с JS. Целта ми е да мога лесно да го прехвърлям през различни среди.

Обаче юзер агента не достатъчен за пфевключване на мобилно.  Това е доста остарял начин.

Разгледай google.com ако го отвориш на десктоп и само сменяш ширината на екрана нищо не се променя те зареждат съдържанието според устройството има и други такива.

Не съм ползвал CURL но ще пробвам благодаря за предложението. Ако смятате че има и други подобни ще разгледам и тях.
Активен

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Web Тестване
« Отговор #11 -: Jun 30, 2016, 08:41 »


Мобилното превключване се прави изцяло с СSS и @media тага.  Превключването става изцяло по точки.  Например ако екрана е по малко от 360 точки превключва

https://en.m.wikipedia.org/wiki/Media_queries



Naka, сигурно аз съм крив, не отричам, ама в моята практика съм срещал заявки от тип медия само и единствено за разделителна способност, а не точки на инч. Също така никога не съм срещал заявки за печатъщи устройства, прожектори и др., които ги има в стандарта, ала колко и как се поддържат не е ясно.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

villimon

  • Напреднали
  • *****
  • Публикации: 65
    • Профил
Re: Web Тестване
« Отговор #12 -: Jun 30, 2016, 09:29 »
Нез знам да ли те разбрах  go_fire. Но @media поставя ограничение от към размера на екрана примерно:

@media screen and (min-width:500px) { ... } ще приложи описаните стилове към екран с ширина по-голяма от 500px което според мен е > 500 точки на екрана. Като под екран имам предвид клиента като браузър.
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3395
    • Профил
Re: Web Тестване
« Отговор #13 -: Jun 30, 2016, 09:40 »
Ето ви един пример https://www.rt.com/

почнете да свивате екрана.
Имах в предвид, че и user agenta и резолюцията (@media) трябва да се използват паралено. Но определено света върви към @media.

Това медиа е много хубаво защото в css-a може да имаш няколко  @media сегменти и всеки да дооправя за различна резолюция. Т.е може да имаш не само за телефон, но и за всякакви междинни играчки - таблети, падове...


Продполагам, че просто като се ограничи размера на iframe-а ,без скролери ще стана второто. Пробвай да заредиш такъв сайт(http://www.rt.com) в ограничен iframe-а и трябва да стане.

А ако наистина ти се занимава с пхп и curl. Може да ти пратя пример. Точно такова подобно, но за други цели правих. Малък е кодът.





« Последна редакция: Jun 30, 2016, 09:47 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Web Тестване
« Отговор #14 -: Jun 30, 2016, 09:50 »
Вили, аз съм малко нещо изпечен трол и си водим някакви вътрешно-заводски спорове, които нямат някакво особено, конструктивно отношение към темата ти.

Все пак, като вид извинение, че ти влязох с двата крака в темата да взема да ти отговоря.

Заявката, която показваш има отношение към разделителната способност. По-правилно е да се каже разрешителна, но разделителна се е наложило. В случая се касае, че ако устройството е от тип екран и се достигне до по-малко от 500 px ширина, то трябва да се изпълнят еди какви си стилове. Това е по-честият случай, тръгваш от по-голямото и вадиш. Повечето проектанти държат на обратният подход — тръгваш от малкото и прибавяш. Ама те самите никога не го правят. Това 500 дето си намерил е малко измукано, леко несериозно. Няма такива екрани. Тук би трябвало да си е класическото 480…

п.п. Ако си намериш машинка с 500 пиксела на инч, трябва да почерпиш. ЛГ продават такива за няколко хилядарки и то в доста ограничени серии.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear