Screen Size

tamplierjew

Client
Регистрация
12.02.2018
Сообщения
42
Благодарностей
0
Баллы
6
Добрый день.
Написал код для эмуляция размера устройства.
Но дело в том, что применяются не все параметры, или применяются не правильно
исходные данные:
  1. height - 780
  2. Width - 360
  3. availHeight - 780
  4. availWidth - 360
  5. OuterWidth - 360
  6. OuterHeight - 694
  7. innerWidth - 980
  8. innerHeight - 1889
РЕЗУЛЬТАТ: http://prntscr.com/nusx0h
Как сделать полное соответствие параметрам?
Код:
int height = Convert.ToInt32(project.Variables["height"].Value);
int width = Convert.ToInt32(project.Variables["Width"].Value);

int availheight = Convert.ToInt32(project.Variables["availHeight"].Value);
int availwidth = Convert.ToInt32(project.Variables["availWidth"].Value);

int screenHeight = Convert.ToInt32(project.Variables["ScreenHeight"].Value);
int screenWidth = Convert.ToInt32(project.Variables["ScreenWidth"].Value);

int OuterWidth = Convert.ToInt32(project.Variables["OuterWidth"].Value);
int OuterHeight = Convert.ToInt32(project.Variables["OuterHeight"].Value);

int InnerWidth = Convert.ToInt32(project.Variables["innerWidth"].Value);
int InnerHeight = Convert.ToInt32(project.Variables["innerHeight"].Value);

int ScreenX = Convert.ToInt32(project.Variables["ScreenX"].Value);
int ScreenY = Convert.ToInt32(project.Variables["ScreenY"].Value);



//----------------
// screen_color Pixel Depth
double DPI = Convert.ToDouble(project.Variables["DPR"].Value);
int ColorPixDPTH = Convert.ToInt32(project.Variables["ColorPixelDepth"].Value);
instance.SetBrowserPreference("layout.css.devPixelsPerPx", DPI);
instance.SetScreenPreference(ScreenPreference.ColorDepth, ColorPixDPTH);
instance.SetScreenPreference(ScreenPreference.PixelDepth, ColorPixDPTH);
//----------------
// Width Heigt/

instance.SetScreenPreference(ZennoLab.InterfacesLibrary.Enums.Browser.ScreenPreference.Width, width);
instance.SetScreenPreference(ZennoLab.InterfacesLibrary.Enums.Browser.ScreenPreference.Height, height);
//----------------
// AvailTop AvailLeft
instance.SetScreenPreference(ZennoLab.InterfacesLibrary.Enums.Browser.ScreenPreference.AvailTop, ScreenX);
instance.SetScreenPreference(ZennoLab.InterfacesLibrary.Enums.Browser.ScreenPreference.AvailLeft, ScreenY);
//----------------
// AvailWidth AvailHeight
instance.SetScreenPreference(ZennoLab.InterfacesLibrary.Enums.Browser.ScreenPreference.AvailHeight, availheight);
instance.SetScreenPreference(ZennoLab.InterfacesLibrary.Enums.Browser.ScreenPreference.AvailWidth, availwidth);
//----------------*/
// ScreenX ScreenY
instance.SetWindowPreference(ZennoLab.InterfacesLibrary.Enums.Browser.WindowPreference.ScreenX, ScreenX);
instance.SetWindowPreference(ZennoLab.InterfacesLibrary.Enums.Browser.WindowPreference.ScreenY, ScreenY);


// InnerWidth InnerHeight

instance.SetWindowPreference(ZennoLab.InterfacesLibrary.Enums.Browser.WindowPreference.InnerWidth, InnerWidth);
instance.SetWindowPreference(ZennoLab.InterfacesLibrary.Enums.Browser.WindowPreference.InnerHeight, InnerHeight);
// OuterWidth OuterHeight

instance.SetWindowPreference(ZennoLab.InterfacesLibrary.Enums.Browser.WindowPreference.OuterWidth, OuterWidth);
instance.SetWindowPreference(ZennoLab.InterfacesLibrary.Enums.Browser.WindowPreference.OuterHeight, OuterHeight);

//Размер окна инстансиса
instance.SetWindowSize(OuterWidth,OuterHeight);
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 320
Благодарностей
5 424
Баллы
113
Проверять надо в ZennoPoster.
 

tamplierjew

Client
Регистрация
12.02.2018
Сообщения
42
Благодарностей
0
Баллы
6
И там проверял
Резалт тот же
 

tamplierjew

Client
Регистрация
12.02.2018
Сообщения
42
Благодарностей
0
Баллы
6
Проверять надо в ZennoPoster.
width=320 height=694 colorDepth=24 availWidth=320 availHeight=694 outerWidth=387 outerHeight=718 innerWidth=320 innerHeight=694 flen=0 screenX=0 screenY=0 appName=Netscape appCodeName=Mozilla appVersion=5.0 (Linux; Android 8.1.0; PAR-LX1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Mobile Safari/537.36 oscpu=undefined platform=Linux armv7l product=Gecko productSub=20030107 buildID=undefined tplugc=0 tplug=0 toffset=4 time=2019/5/27 06:52
Вот данные записанные ZP, при выполнении проекта
 

tamplierjew

Client
Регистрация
12.02.2018
Сообщения
42
Благодарностей
0
Баллы
6
неужели никто не знает?
 

ramzes8

Client
Регистрация
27.05.2016
Сообщения
43
Благодарностей
45
Баллы
18
неужели никто не знает?
Тоже решил разобраться, вот этот сайт поможет разобраться - https://www.w3schools.com/jsref/obj_window.asp
Мне помогло понять работу с разшерением и решить некоторые задачи.
Вот мой верстак для тестов:


C#:
instance.ActiveTab.Navigate("https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_win_inner_outer");

instance.ActiveTab.WaitDownloading();


//Установка параметров разшерения Экрана - подбираем, изменяем СРАВНИВАЕНМ с разрешением браузера на ПК !!!

instance.SetWindowPreference(ZennoLab.InterfacesLibrary.Enums.Browser.WindowPreference.InnerWidth, 1500);
instance.SetWindowPreference(ZennoLab.InterfacesLibrary.Enums.Browser.WindowPreference.InnerHeight, 1500); 

instance.SetWindowPreference(ZennoLab.InterfacesLibrary.Enums.Browser.WindowPreference.OuterHeight, 1700);
instance.SetWindowPreference(ZennoLab.InterfacesLibrary.Enums.Browser.WindowPreference.OuterWidth, 1700);

instance.SetWindowSize(1700, 1700);


//Получает задает общую ширину высоту экрана.
project.SendInfoToLog("ScreenSizeHeight " + project.Profile.ScreenSizeHeight.ToString(), true);//Выводим в лог
project.SendInfoToLog("ScreenSizeWidth " + project.Profile.ScreenSizeWidth.ToString(), true);//Выводим в лог

//Получает или задает ширину высоту экрана (исключая панель задач Windows).
project.SendInfoToLog("AvailScreenHeight " + project.Profile.AvailScreenHeight.ToString(), true);//Выводим в лог
project.SendInfoToLog("AvailScreenWidth " + project.Profile.AvailScreenWidth.ToString(), true);//Выводим в лог

//Получает или задает ширину высоту рамки экрана.
project.SendInfoToLog("OuterHeightShift " + project.Profile.OuterHeightShift.ToString(), true);//Выводим в лог
project.SendInfoToLog("OuterWidthShift " + project.Profile.OuterWidthShift.ToString(), true);//Выводим в лог

//Получает или задает ширину высоту текущего окна.
project.SendInfoToLog("OuterHeight " + project.Profile.OuterHeight.ToString(), true);//Выводим в лог
project.SendInfoToLog("OuterWidth " + project.Profile.OuterWidth.ToString(), true);//Выводим в лог
 
Последнее редактирование:
  • Спасибо
Реакции: ZSharp

ramzes8

Client
Регистрация
27.05.2016
Сообщения
43
Благодарностей
45
Баллы
18
Скрипт который нужно запустить на ОТКРЫВШЕЙСЯ странице браузера вставить вместо того что на странице (между тегами script)


var txt = "";
txt += "<p>Total width/height: " + screen.width + "*" + screen.height + "</p>";
txt += "<p>Available width/height: " + screen.availWidth + "*" + screen.availHeight + "</p>";
txt += "<p>innerWidth/innerHeight: " + window.innerWidth + "*" + window.innerHeight + "</p>";
txt += "<p> outerWidth/outerHeight: " + window.outerWidth + "*" + window.outerHeight +"</p>";
document.getElementById("demo2").innerHTML = txt;
 

ivan_777

Client
Регистрация
17.04.2020
Сообщения
7
Благодарностей
1
Баллы
3
Ребята, помогите новичку - как задать ширину экрана в проекте? Браузер Хром.
Почему то браузер по умолчанию работает очень узкий, как на мобиле верстка страниц получается.
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 320
Благодарностей
5 424
Баллы
113
Ребята, помогите новичку - как задать ширину экрана в проекте? Браузер Хром.
Почему то браузер по умолчанию работает очень узкий, как на мобиле верстка страниц получается.
Вот самые основные настройки, просто крути числа и смотри. В кубик свой код C#
C#:
instance.SetWindowSize(600, 900);
 
  • Спасибо
Реакции: ivan_777

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)