RU2752777C1 - Web browser objects computer-aided magnification and centering - Google Patents

Web browser objects computer-aided magnification and centering Download PDF

Info

Publication number
RU2752777C1
RU2752777C1 RU2020141839A RU2020141839A RU2752777C1 RU 2752777 C1 RU2752777 C1 RU 2752777C1 RU 2020141839 A RU2020141839 A RU 2020141839A RU 2020141839 A RU2020141839 A RU 2020141839A RU 2752777 C1 RU2752777 C1 RU 2752777C1
Authority
RU
Russia
Prior art keywords
document
browser
scaling
target
axes
Prior art date
Application number
RU2020141839A
Other languages
Russian (ru)
Inventor
Михаил Сергеевич Емельченков
Дмитрий Юрьевич Ильин
Original Assignee
Михаил Сергеевич Емельченков
Дмитрий Юрьевич Ильин
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Михаил Сергеевич Емельченков, Дмитрий Юрьевич Ильин filed Critical Михаил Сергеевич Емельченков
Priority to RU2020141839A priority Critical patent/RU2752777C1/en
Application granted granted Critical
Publication of RU2752777C1 publication Critical patent/RU2752777C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/373Details of the operation on graphic patterns for modifying the size of the graphic pattern

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

FIELD: computing.SUBSTANCE: invention relates to a method for computer-aided magnification and centering of objects in a web browser. The method includes following steps: handling custom events; in response to an item's scaling event: the target to scale is set; the target magnification factor is determined; the required displacement of the document body along the X and Y axes is determined; the browser is notified about upcoming transformations; the coordinates of the point for transforming the body of the document into a value in the center of the X and Y axes are set; the scale of the document body along the X and Y axes is changed; an empty transparent element is formed, which is placed at the end of the body of the document, so that it occupies the entire window area of the displayed web page; scrollbars on the body of the document is hided; in response to the occurrence of an element scaling cancellation event: the propagation of the element scaling event to all other elements of the web page is blocked, except for an empty element; the body of the document to the state before the element was scaled is transformed, upon completion of the transformation, suspend browser notification of transformations applied to the target object.EFFECT: invention increases efficiency of the operation of scaling objects in a web browser, the smoothness of the image of the scaled elements, increases the efficiency of using hardware resources.2 cl, 4 dwg

Description

ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY

Техническое решение относится к области web-технологий, а именно к способам масштабирования отображаемых объектов веб-содержимого в веб-браузере.The technical solution relates to the field of web technologies, namely, to methods of scaling displayed objects of web content in a web browser.

УРОВЕНЬ ТЕХНИКИLEVEL OF TECHNOLOGY

Из уровня техники известна публикация RU 2637415 C2, «Альтернативные семантики для операций масштабирования в масштабируемой сцене», МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи. Данное техническое решение представляет собой сцену, содержащую набор визуальных элементов, что может позволять пользователю осуществлять операции «масштабирования» для перемещения по глубине сцены. Семантика «масштабирования» часто применяется для имитации оптической визуальной глубины, в которой визуальные элементы представляются с разными визуальными размерами и визуальным разрешением для имитации физической близости или удаленности. Однако семантика «масштабирования» может альтернативно применяться к другим аспектам визуальных элементов сцены, например пользовательскому выбору визуального элемента увеличенного масштаба, операции «погружения» на массиве данных, или перемещения по порталу в первом массиве данных для просмотра второго массива данных. Эти альтернативные семантики «масштабирования» могут достигаться путем представления эффектов операции «масштабирования» в сцене на визуальном представлении визуального элемента, отличающегося от регулировки визуальных размеров и разрешения визуального элемента.From the prior art publication RU 2637415 C2, "Alternative semantics for scaling operations in a scalable scene", MICROSOFT TECHNOLOGY LICENSING, ElSi is known. This technical solution is a scene containing a set of visual elements that can allow the user to perform "scaling" operations to move through the depth of the scene. Scaling semantics are often used to simulate optical visual depth, in which visual elements are presented at different visual sizes and visual resolutions to simulate physical proximity or distance. However, “zoom” semantics can alternatively be applied to other aspects of scene visuals, such as custom selection of a zoomed-in visual, “diving” on a dataset, or navigating through a portal in a first dataset to view a second dataset. These alternative "scaling" semantics can be achieved by presenting the effects of the "scaling" operation in the scene on a visual representation of the visual other than adjusting the visual size and resolution of the visual.

Недостатком представленных решений является невозможность их использования в существующем программном обеспечении для WEB, меньшая эффективность и большая ресурсоемкость.The disadvantage of the presented solutions is the impossibility of using them in the existing software for the WEB, less efficiency and greater resource intensity.

СУЩНОСТЬESSENCE

Технический результат: повышение эффективности операции масштабирования объектов в WEB, отсутствие необходимости в модификации существующего программного обеспечения, высокая плавность изображения масштабированных элементов, повышение эффективности использования аппаратных ресурсов.EFFECT: increased efficiency of the operation of scaling objects in the WEB, no need to modify existing software, high smoothness of the scaled elements image, increased efficiency of using hardware resources.

Способ компьютерного увеличения и центрирования объектов в веб-браузере, выполняемый при помощи по крайней мере одного процессора, включает следующие шаги:A method for computer zooming and centering objects in a web browser using at least one processor includes the following steps:

обрабатывают пользовательские события;handle custom events;

в ответ на возникновение события масштабирования элемента:in response to the element's scaling event:

- задают целевой объект, к которому будет применяться эффект масштабирования;- set the target object to which the zoom effect will be applied;

- определяют целевой коэффициент увеличения;- determine the target magnification factor;

- определяют необходимое смещение тела документа по осям X (targetX) и Y (targetY) с учетом целевого коэффициента увеличения масштаба тела документа, необходимое для расположения целевого объекта по центру окна браузера;- determine the required displacement of the document body along the X (targetX) and Y (targetY) axes, taking into account the target zoom factor of the document body, required to position the target object in the center of the browser window;

- уведомляют браузер о предстоящих трансформациях, применяемых к целевому объекту, для обеспечения плавности трансформаций и четкости отображения целевого объекта;- notifying the browser about upcoming transformations applied to the target object, to ensure smooth transformations and clarity of display of the target object;

- устанавливают координаты точки, относительно которой будет производиться трансформация тела документа, в значение по центру осей X и Y;- set the coordinates of the point, relative to which the transformation of the document body will be made, to the value in the center of the X and Y axes;

- изменяют масштаб тела документа по осям X и Y, используя целевой коэффициент увеличения, причем смещают тело документа по оси X, используя определенное ранее смещение targetX, смещают тело документа по оси Y, используя определенное ранее смещение targetY;- change the scale of the document body along the X and Y axes using the target magnification factor, and shift the document body along the X axis using the previously defined targetX offset, shift the document body along the Y axis using the previously defined targetY offset;

- формируют пустой (прозрачный) элемент (overlayelem), который помещается в конце тела документа, причем размеры этого элемента заданы так, чтобы он занимал всю площадь окна отображаемой веб-страницы;- an empty (transparent) element (overlayelem) is formed, which is placed at the end of the document body, and the dimensions of this element are set so that it occupies the entire window area of the displayed web page;

- скрывают полосы прокрутки у тела документа;- hide the scrollbars at the body of the document;

в ответ на возникновение события отмены масштабирования элемента:in response to an item scaling cancellation event:

- блокируют распространение события масштабирования элемента всех остальных элементов веб-страницы, кроме сформированного ранее пустого элемента (overlayelem);- block the propagation of the element scaling event for all other elements of the web page, except for the previously generated empty element (overlayelem);

- трансформируют тело документа к состоянию до масштабирования элемента, причем по завершении трансформации приостанавливают уведомление браузера о трансформациях, применяемых к целевому объекту.- transform the body of the document to the state before scaling the element, and upon completion of the transformation, pause the browser notification of transformations applied to the target object.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF DRAWINGS

На фиг. 1а показан фрагмент веб-страницы до применения масштабирования.FIG. 1a shows a fragment of a web page before scaling is applied.

На фиг. 1б показан фрагмент веб-страницы после применения эффекта масштабирования.FIG. 1b shows a fragment of a web page after applying the zoom effect.

На фиг. 2 показана блок-схема одного из иллюстративных вариантов реализации масштабирования.FIG. 2 is a block diagram of one exemplary implementation of scaling.

На фиг. 3 показана система общего назначения для реализации заявленного способа масштабирования.FIG. 3 shows a general purpose system for implementing the claimed scaling method.

ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION

Браузер, веб-браузер или веб-обозреватель (от англ. web browser) - прикладное программное обеспечение для просмотра страниц, содержания веб-документов, компьютерных файлов и их каталогов; управления веб-приложениями; а также для решения других задач.Browser, web browser or web browser (from the English web browser) - application software for viewing pages, the content of web documents, computer files and their catalogs; web application management; as well as for solving other problems.

Браузерный движок, ядро браузера (англ. layout engine), представляет собой программу, преобразующую содержимое веб-страниц (файлы HTML, XML, цифровые изображения и т.д.) и информацию о форматировании (в форматах CSS, XSL и т.д.) в интерактивное изображение форматированного содержимого на экране. Браузерный движок обычно используется в веб-браузерах, почтовых клиентах и других программах, нуждающихся в отображении и редактировании содержимого веб-страниц.The browser engine, the browser layout engine, is a program that transforms the content of web pages (HTML files, XML files, digital images, etc.) and formatting information (in CSS, XSL, etc.) ) to an interactive display of formatted content on the screen. The browser engine is commonly used in web browsers, email clients, and other programs that need to display and edit the content of web pages.

Движок JavaScript - специализированная программа, обрабатывающая JavaScript, в частности, в браузерах.The JavaScript engine is a specialized program that processes JavaScript, particularly in browsers.

В соответствии с объектной моделью документа («Document Object Model», коротко DOM) каждый HTML-тег является объектом. Вложенные теги являются «детьми» родительского элемента. Текст, который находится внутри тега, также является объектом.According to the Document Object Model (DOM for short), every HTML tag is an object. The nested tags are the "children" of the parent element. The text that is inside the tag is also an object.

В рамках данного технического решения будет использоваться понятие объект и элемент, где объект - это любая часть веб-страницы, доступная через модель DOM, а элемент - это объект, который отображается пользователю на веб-странице.Within the framework of this technical solution, the concept of an object and an element will be used, where an object is any part of a web page accessible through the DOM, and an element is an object that is displayed to the user on a web page.

Способ компьютерного увеличения и центрирования элементов/объектов в веб-браузере, выполняемый при помощи по крайней мере одного процессора, включает описанные ниже шаги(этапы).A method for computer enlarging and centering elements / objects in a web browser, performed using at least one processor, includes the steps (steps) described below.

Здесь и далее все используемые функции, вычисления, шаги, этапы осуществляются с использованием браузерного движка, встроенного в браузер при помощи процессора. В некоторых вариантах реализации для реализации шагов, этапов, описываемого технического решения используется движок JavaScript, интегрированный в браузер и связанный с браузерным движком.Hereinafter, all used functions, calculations, steps, stages are carried out using the browser engine built into the browser using a processor. In some implementations, to implement the steps, stages of the described technical solution, a JavaScript engine is used that is integrated into the browser and associated with the browser engine.

В некоторых вариантах реализации перед этапом осуществления способа задают следующие данные, объекты, элементы, свойства, параметры:In some implementations, before the step of implementing the method, the following data, objects, elements, properties, parameters are set:

body, element, window, scale, transition duration, где:body, element, window, scale, transition duration, where:

body представляет собой контент (содержимое) документа HTML,body represents the content (content) of the HTML document,

element - масштабируемый элемент веб-страницы,element - a scalable web page element,

window - объект, который представляет собой окно, содержащее DOM документ; свойство document указывает на DOM document, загруженный в данном окне,window - an object that represents a window containing a DOM document; the document property points to the DOM document loaded in the given window,

scale - требуемый масштаб объекта element,scale - the required scale of the element object,

transition duration задает время в секундах или миллисекундах, сколько должна длиться анимация перехода до ее завершения.transition duration specifies the time in seconds or milliseconds how long the transition animation should take before it completes.

Обрабатывают пользовательские события.Handle custom events.

В некоторых вариантах реализации устанавливают обработчик на события для определения/выявления события, которое должно запустить процесс масштабирования или отмены масштабирования элемента.In some implementations, a handler is set on events to determine / detect an event that should trigger the scaling or unscaling of an element.

Событием, по которому запускается масштабирование элемента, может быть одно из следующих действий: нажатие кнопки мыши (левой или правой), нажатие клавиши клавиатуры (любой, например, Escape), клик на сенсорный экран, голосовой ввод (определенных/заданных команд, например «сделай больше», «увеличь») или нажатие специального экранного объекта (например, кнопки).The event that triggers the element scaling can be one of the following: pressing a mouse button (left or right), pressing a keyboard key (any, for example, Escape), clicking on a touch screen, voice input (certain / specified commands, for example " make it bigger ”,“ enlarge ”) or pressing a special display object (for example, a button).

В некоторых вариантах реализации событие может быть привязано к объекту.In some implementations, an event can be bound to an object.

Задают целевой объект, к которому будет применяться эффект масштабирования.Specifies the target to apply the zoom effect to.

В некоторых вариантах реализации целевой объект представляет собой отображаемый на экране элемент веб-страницы. В некоторых вариантах реализации для задания целевого объекта в дереве DOM могут использоваться теги, классы, идентификаторы и CSS-селекторы.In some implementations, the target is a displayable element of a web page. In some implementations, tags, classes, IDs, and CSS selectors can be used to specify the target in the DOM tree.

Figure 00000001
Figure 00000001

Определяют целевой коэффициент увеличения.Determine the target magnification ratio.

В некоторых вариантах реализации целевой коэффициент увеличения (здесь и далее targetScale) определяется следующим образом: (scale / 100) * min(W(window) / W(element), H(window) / H(element)), где:In some implementations, the target zoom factor (hereinafter targetScale) is defined as follows: (scale / 100) * min (W (window) / W (element), H (window) / H (element)), where:

Window - объект, который представляет собой окно, содержащее DOM документ,Window - an object that represents a window containing a DOM document,

свойство document указывает на DOM document, загруженный в данном окне,the document property points to the DOM document loaded in the given window,

element - объект, который будет масштабироваться (задается пользователем, разработчиком или автоматически),element - the object that will be scaled (set by the user, developer or automatically),

scale - заданный масштаб (задается разработчиком или пользователем), scale - the specified scale (set by the developer or user),

W(Obj) - функция получения ширины объекта Obj, W (Obj) - function for getting the width of the object Obj,

H(Obj) - функция получения высоты объекта Obj,H (Obj) - function for obtaining the height of the object Obj,

min (z, zl) - функция определения минимального из двух элементов (z, z1)/определение минимального значения из двух элементов.min (z, zl) - function of determining the minimum of two elements (z, z1) / determination of the minimum value of two elements.

Определяют необходимое смещение тела документа по осям X (targetX) и Y (targetY) с учетом целевого коэффициента увеличения масштаба тела документа, необходимое для расположения целевого объекта по центру окна браузера.Determine the required displacement of the document body along the X (targetX) and Y (targetY) axes, taking into account the target zoom factor of the document body, required to position the target object in the center of the browser window.

В некоторых вариантах реализации смещение тела документа по оси X (здесь и далее targetX) определяется следующим образом:In some implementations, the X-axis offset of the document body (hereinafter targetX) is defined as follows:

round((CX(body) - CX(element)) * targetScale+(OX(window) - CX(body))+(W(window) - W(element) * targetScale) / 2), где:round ((CX (body) - CX (element)) * targetScale + (OX (window) - CX (body)) + (W (window) - W (element) * targetScale) / 2), where:

CX(Obj) - функция получения центра объекта Obj по оси X, CX(Obj)=OX(Obj)+(W(Obj)/2),CX (Obj) - the function of obtaining the center of the object Obj along the X axis, CX (Obj) = OX (Obj) + (W (Obj) / 2),

OX(Obj) - функция получения левого края объекта Obj по оси X,OX (Obj) - the function of getting the left edge of the object Obj along the X axis,

round (Z) - функция округления числа Z к ближайшему целому.round (Z) - the function of rounding the number Z to the nearest integer.

В некоторых вариантах реализации смещение тела документа по оси Y (здесь и далее targetY) определяется следующим образом:In some implementations, the Y-axis offset of the document body (hereinafter targetY) is defined as follows:

round((CY(body) - CY(element)) * targetScale+(OY(window) - CY(body))+(H(window) - H(element) * targetScale) / 2)round ((CY (body) - CY (element)) * targetScale + (OY (window) - CY (body)) + (H (window) - H (element) * targetScale) / 2)

CY(Obj) - функция получения центра объекта о по оси Y, CY(Obj)=OY(Obj)+(H(Obj)/2),CY (Obj) - the function of obtaining the center of the object o along the Y axis, CY (Obj) = OY (Obj) + (H (Obj) / 2),

OY(Obj) - функция получения верхнего края объекта о по оси Y.OY (Obj) - the function of getting the top edge of the object about along the Y axis.

Уведомляют браузер о предстоящих трансформациях, применяемых к целевому объекту, для обеспечения плавности трансформаций и четкости отображения целевого объекта.Notify the browser of upcoming transformations to be applied to the target to ensure smooth transformations and crispness of the target.

В некоторых вариантах реализации уведомление браузера о предстоящих трансформациях осуществляется с использованием CSS свойства will-change, которое предоставляет возможность уведомить браузер об ожидаемом изменении элемента, таким образом браузер может настроить соответствующую оптимизацию до того, как элемент действительно изменится. Такой тип оптимизации может повысить отзывчивость страницы, совершая возможно дорогие операции до того, как они действительно понадобятся.In some implementations, notifying the browser of upcoming transformations is done using the CSS will-change property, which provides the ability to notify the browser of an expected element change, so the browser can adjust the appropriate optimizations before the element actually changes. This type of optimization can improve the responsiveness of a page by performing possibly expensive operations before they are actually needed.

Например, с использованием библиотеки jQuery такое уведомление может осуществляться следующим образом для заданного элемента $element:For example, using the jQuery library, such a notification can be done as follows for a given $ element:

$element.css('will-change', 'transform')$ element.css ('will-change', 'transform')

В некоторых вариантах реализации при уведомлении браузера о предстоящих трансформациях включают аппаратное ускорение обработки трансформаций элемента с использованием графического процессора, GPU.In some implementations, when notifying the browser about upcoming transformations, hardware acceleration of processing element transformations using a GPU, GPU is included.

Устанавливают координаты точки, относительно которой будет производиться трансформация тела документа в значение по центру осей X и Y.Sets the coordinates of the point, relative to which the document body will be transformed into a value in the center of the X and Y axes.

В некоторых вариантах реализации установка координат осуществляется путем задания CSS свойства transform-origin.In some implementations, the coordinates are set by setting the transform-origin CSS property.

Transform-origin устанавливает координаты точки, относительно которой будет происходить трансформация элемента, transform-origin: <х><у><z>.Transform-origin sets the coordinates of the point relative to which the element will be transformed, transform-origin: <х><у> <z>.

В некоторых вариантах реализации transform-origin задают в значение 'center center'.In some implementations, transform-origin is set to 'center center'.

Изменяют масштаб тела документа по осям X и Y, используя целевой коэффициент увеличения, причем смещают тело документа по оси X, используя определенное ранее смещение targetX, смещают тело документа по оси Y, используя определенное ранее смещение targetY.The document body is scaled along the X and Y axes using the target magnification factor, and the document body is shifted along the X axis using the previously defined targetX offset, the document body is shifted along the Y axis using the previously defined targetY offset.

В некоторых вариантах реализации масштаб изменяют с использованием CSS-свойства transform, которое позволяет вам поворачивать, масштабировать, наклонять или сдвигать элемент.In some implementations, the scale is changed using the transform CSS property, which allows you to rotate, scale, skew, or shear an element.

В качестве примера для описанных трансформаций масштабирования может использоваться задание свойства CSS transform со следующим значением: matrix(targetScale, 0, 0, targetScale, targetX, targetY), гдеAs an example for the described scaling transformations, setting the CSS transform property with the following value can be used: matrix (targetScale, 0, 0, targetScale, targetX, targetY), where

targetScale - определенный ранее целевой коэффициент увеличения,targetScale - the previously defined target zoom factor,

targetX, targetY - определенные ранее необходимые смещения тела документа по осям X, Y,targetX, targetY - previously defined necessary offsets of the document body along the X, Y axes,

matrix задает матрицу преобразований над элементом (заданным элементом), к которому применяется преобразование.matrix specifies the transformation matrix over the element (given element) to which the transformation is applied.

Скрывают полосы прокрутки у тела документа.Hide scrollbars from the body of the document.

В некоторых вариантах реализации полосы прокрутки скрываются с использованием CSS свойства overflow. В некоторых вариантах реализации для скрытия полос прокрутки задают значение свойства overflow в hidden. В некоторых вариантах реализации может использоваться JavaScript для задания у объекта значения свойства style.paddingRight, равное offset Width - client Width, например, element, style. paddingRight=element. offsetWidth -element, client Width+"px".In some implementations, scrollbars are hidden using the CSS overflow property. In some implementations, the overflow property is set to hidden to hide scrollbars. In some implementations, JavaScript can be used to set the object's style.paddingRight property to offset Width - client Width, such as element, style. paddingRight = element. offsetWidth -element, client Width + "px".

В некоторых вариантах реализации для задания свойств CSS используют браузерно-зависимые свойства, названия которых начинаются со специальных префиксов, например, "-webkit-", "-moz-", "-ms-", "-о-" и др.Some implementations use browser-dependent properties to set CSS properties, whose names begin with special prefixes, for example, "-webkit-", "-moz-", "-ms-", "-o", and others.

В некоторых вариантах реализации создают (формируют) внутри тела документа body элемент overlay, обеспечивающий запуск уменьшения масштаба элемента по наступлению некоторого предопределенного события, например нажатия кнопки мыши или иного устройства ввода.In some implementations, an overlay element is created (formed) within the body of the document body, which triggers the zoom out of the element upon the occurrence of some predefined event, such as a mouse click or other input device.

В некоторых вариантах реализации для отмены масштабирования элемента выполняются следующие шаги.In some implementations, the following steps are performed to unscale an element.

В некоторых вариантах реализации для обеспечения возможности отмены эффекта масштабирования создают (формируют) пустой элемент с заданным идентификатором (например, "#newzoom-overlay"), который помещается в конце тела документа, причем размеры пустого элемента заданы так, чтобы он занимал всю (100%) площадь окна веб-страницы.In some implementations, to provide the ability to cancel the zoom effect, an empty element is created (formed) with a given identifier (for example, "# newzoom-overlay"), which is placed at the end of the document body, and the dimensions of the empty element are set so that it occupies the entire (100 %) the area of the web page window.

Устанавливают функцию (обработчик события), срабатывающую по некоторому событию (например, нажатия кнопки мыши), которое используется для управления масштабом на элемент <div> с заданным идентификатором (например, "#newzoom-overlay") со следующими инструкциями (содержанием):A function (event handler) is set that is triggered by some event (for example, a mouse button is pressed), which is used to control the zoom on a <div> element with a given identifier (for example, "# newzoom-overlay") with the following instructions (content):

- блокируют распространение события нажатия кнопки мыши на последующие элементы веб-страницы (кроме сформированного ранее пустого прозрачного элемента);- block the propagation of the mouse click event to subsequent elements of the web page (except for the previously generated empty transparent element);

- запускают трансформацию тела документа к начальному состоянию (в результате этого шага пользователь получает веб-страницу в исходном масштабе);- start the transformation of the document body to the initial state (as a result of this step, the user receives a web page at the original scale);

- по завершении трансформации с заданного элемента снимается свойство "will-change", обеспечивающее плавность трансформации и четкость приближенного элемента.- upon completion of the transformation, the "will-change" property is removed from the specified element, which ensures smooth transformation and clarity of the approximate element.

В некоторых вариантах реализации обработчик события для управления масштабом может устанавливаться, например, на следующие действия пользователя: нажатие кнопок клавиатуры (например, Escape), клик на сенсорный экран (событие Тар), голосовой ввод (например, на определенные команды).In some implementations, an event handler for controlling the zoom can be set, for example, to the following user actions: pressing keyboard buttons (for example, Escape), clicking on the touch screen (Tar event), voice input (for example, on certain commands).

Фиг. 3 представляет пример компьютерной системы общего назначения, используемой для реализации описанного способа, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26 содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.FIG. 3 shows an example of a general-purpose computer system used to implement the described method, a personal computer or server 20 containing a central processing unit 21, a system memory 22, and a system bus 23 that contains various system components, including memory associated with the central processing unit 21. The system bus 23 is implemented as any bus structure known in the art, which in turn contains a bus memory or bus memory controller, a peripheral bus and a local bus that is capable of interfacing with any other bus architecture. System memory contains read-only memory (ROM) 24, random access memory (RAM) 25. The main input / output system (BIOS) 26 contains basic procedures that transfer information between the elements of the personal computer 20, for example, at the time of loading the operating system using ROM 24.

Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.The personal computer 20, in turn, contains a hard disk 27 for reading and writing data, a magnetic disk drive 28 for reading and writing to removable magnetic disks 29 and an optical drive 30 for reading and writing to removable optical disks 31, such as CD-ROM, DVD -ROM and other optical media. The hard disk 27, the magnetic disk drive 28, and the optical drive 30 are connected to the system bus 23 via the hard disk interface 32, the magnetic disk interface 33, and the optical drive interface 34, respectively. Drives and corresponding computer storage media are non-volatile storage media for computer instructions, data structures, program modules and other data of a personal computer 20.

Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, но следует понимать, что возможно применение иных типов компьютерных носителей информации, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш-карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23.The present description discloses an implementation of a system that uses a hard disk 27, but it should be understood that it is possible to use other types of computer storage media that are capable of storing data in a computer readable form (solid state drives, flash memory cards, digital disks, memory with arbitrary access (RAM), etc.), which are connected to the system bus 23.

Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через интерфейс USB 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например при помощи параллельного порта, игрового порта. Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47 персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены).Computer 20 has a file system 36, where the recorded operating system 35 is stored, as well as additional software applications 37, other program modules 38 and program data 39. The user has the ability to enter commands and information into the personal computer 20 through input devices (keyboard 40, manipulator " mouse "42). Other input devices may be used (not shown): microphone, joystick, game console, scanner, etc. Such input devices, as usual, are connected to the computer system 20 via the USB interface 46, which in turn is connected to the system bus, but can be connected in another way, for example, using a parallel port, a game port. A monitor 47 or other type of display device is also connected to the system bus 23 via an interface such as a video adapter 48. In addition to the monitor 47, the personal computer may be equipped with other peripheral output devices (not shown).

Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.The personal computer 20 is capable of operating in a networked environment using a network connection with other or more remote computers 49. The remote computer (or computers) 49 are the same personal computers or servers that have most or all of the elements mentioned earlier in the description of the entity. the personal computer 20 shown in FIG. 3. In a computer network, there may also be other devices, such as routers, network stations, peer-to-peer devices, or other network nodes.

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать роутер 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Роутер 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством USB порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.Network connections can form a local area network (LAN) 50 and a wide area network (WAN). Such networks are used in corporate computer networks, internal networks of companies and, as a rule, have access to the Internet. In LAN or WAN networks, the personal computer 20 is connected to the local network 50 via a network adapter or network interface 51. When using networks, the personal computer 20 may use a router 54 or other means of providing communication with a wide area network, such as the Internet. Router 54, which is an internal or external device, is connected to the system bus 23 via a USB port 46. It should be noted that the network connections are only exemplary and are not required to reflect the exact configuration of the network, i. E. in fact, there are other ways of establishing a connection by technical means of communication of one computer with another.

Ниже приведен фрагмент одного из частных вариантов реализации технического решения на языке JavaScript с некоторыми допущениями и упрощениями в качестве иллюстративного примера возможности фактической реализации.Below is a fragment of one of the private options for implementing a technical solution in JavaScript with some assumptions and simplifications as an illustrative example of the possibility of an actual implementation.

Figure 00000002
Figure 00000003
Figure 00000002
Figure 00000003

Figure 00000004
Figure 00000004

Claims (15)

1. Способ компьютерного увеличения и центрирования объектов в веб-браузере, выполняемый при помощи по крайней мере одного процессора, включает следующие шаги:1. A method for computer zooming and centering objects in a web browser, performed using at least one processor, includes the following steps: • обрабатывают пользовательские события;• handle custom events; • в ответ на возникновение события масштабирования элемента:• in response to an element scaling event: – задают целевой объект, к которому будет применяться эффект масштабирования;- set the target object to which the zoom effect will be applied; – определяют целевой коэффициент увеличения;- determine the target magnification factor; – определяют необходимое смещение тела документа по осям X (targetX) и Y (targetY) с учетом целевого коэффициента увеличения масштаба тела документа для расположения целевого объекта по центру окна браузера;- determine the required displacement of the document body along the X (targetX) and Y (targetY) axes, taking into account the target zoom factor of the document body to position the target object in the center of the browser window; – уведомляют браузер о предстоящих трансформациях, применяемых к целевому объекту, для обеспечения плавности трансформаций и четкости отображения целевого объекта;- notifying the browser about upcoming transformations applied to the target object, to ensure smooth transformations and clarity of display of the target object; – устанавливают координаты точки, относительно которой будет производиться трансформация тела документа, в значение по центру осей X и Y;- set the coordinates of the point, relative to which the transformation of the document body will be made, to the value in the center of the X and Y axes; – изменяют масштаб тела документа по осям X и Y, используя целевой коэффициент увеличения, причем смещают тело документа по оси X, используя определенное ранее смещение targetX, смещают тело документа по оси Y, используя определенное ранее смещение targetY;- change the scale of the document body along the X and Y axes using the target magnification factor, and shift the document body along the X axis using the previously defined targetX offset, shift the document body along the Y axis using the previously defined targetY offset; – формируют пустой прозрачный элемент (overlayelem), который помещается в конце тела документа, причем размеры пустого элемента заданы так, чтобы он занимал всю площадь окна отображаемой веб-страницы;- form an empty transparent element (overlayelem), which is placed at the end of the body of the document, and the dimensions of the empty element are set so that it occupies the entire window area of the displayed web page; – скрывают полосы прокрутки у тела документа;- hide the scrollbars at the body of the document; • в ответ на возникновение события отмены масштабирования элемента:• in response to an element scaling cancellation event: – блокируют распространение события масштабирования элемента всех остальных элементов веб-страницы, кроме сформированного ранее пустого элемента (overlayelem);- block the propagation of the element scaling event for all other elements of the web page, except for the previously generated empty element (overlayelem); – трансформируют тело документа к состоянию до масштабирования элемента, причем по завершении трансформации приостанавливают уведомление браузера о трансформациях, применяемых к целевому объекту.- transform the body of the document to the state before scaling the element, and upon completion of the transformation, pause the browser notification of transformations applied to the target object. 2. Способ по п.1, в котором событием масштабирования элемента может быть одно из следующих действий: нажатие кнопки мыши, нажатие клавиши клавиатуры, клик на сенсорный экран, голосовой ввод.2. The method according to claim 1, wherein the element scaling event can be one of the following: mouse click, keyboard key press, touch screen click, voice input.
RU2020141839A 2020-12-18 2020-12-18 Web browser objects computer-aided magnification and centering RU2752777C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2020141839A RU2752777C1 (en) 2020-12-18 2020-12-18 Web browser objects computer-aided magnification and centering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2020141839A RU2752777C1 (en) 2020-12-18 2020-12-18 Web browser objects computer-aided magnification and centering

Publications (1)

Publication Number Publication Date
RU2752777C1 true RU2752777C1 (en) 2021-08-03

Family

ID=77226354

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020141839A RU2752777C1 (en) 2020-12-18 2020-12-18 Web browser objects computer-aided magnification and centering

Country Status (1)

Country Link
RU (1) RU2752777C1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009053833A1 (en) * 2007-10-25 2009-04-30 Nokia Corp. Apparatus and method for zooming objects on a display
US20100115462A1 (en) * 2008-06-06 2010-05-06 Liquidpixels, Inc. Enhanced Zoom and Pan for Viewing Digital Images
RU2514099C2 (en) * 2009-05-19 2014-04-27 Сони Корпорейшн Digital image processing device and touch-based image scaling method
US20140143652A1 (en) * 2012-11-19 2014-05-22 Tealeaf Technology, Inc. Dynamic zooming of content with overlays
RU2530284C2 (en) * 2008-09-25 2014-10-10 Майкрософт Корпорейшн User interface having zoom functionality
RU2637415C2 (en) * 2010-06-25 2017-12-04 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Alternative semantics for scaling operations in scale scene

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009053833A1 (en) * 2007-10-25 2009-04-30 Nokia Corp. Apparatus and method for zooming objects on a display
US20100115462A1 (en) * 2008-06-06 2010-05-06 Liquidpixels, Inc. Enhanced Zoom and Pan for Viewing Digital Images
RU2530284C2 (en) * 2008-09-25 2014-10-10 Майкрософт Корпорейшн User interface having zoom functionality
RU2514099C2 (en) * 2009-05-19 2014-04-27 Сони Корпорейшн Digital image processing device and touch-based image scaling method
RU2637415C2 (en) * 2010-06-25 2017-12-04 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Alternative semantics for scaling operations in scale scene
US20140143652A1 (en) * 2012-11-19 2014-05-22 Tealeaf Technology, Inc. Dynamic zooming of content with overlays

Similar Documents

Publication Publication Date Title
US11307750B2 (en) Method and system for section-based editing of a website page
US11720739B2 (en) System and method for extended dynamic layout
US8091030B1 (en) Method and apparatus of graphical object selection in a web browser
JP4700423B2 (en) Common charting using shapes
US8949729B2 (en) Enhanced copy and paste between applications
EP2757472A1 (en) A computer-implemented method for launching an installed application
US20130212534A1 (en) Expanding thumbnail with metadata overlay
US20150012818A1 (en) System and method for semantics-concise interactive visual website design
US10353721B2 (en) Systems and methods for guided live help
US9785622B2 (en) Methods and systems to copy web content selections
KR101625258B1 (en) Platform extensibility framework
US20100079459A1 (en) method and system for generating and displaying an interactive dynamic graph view of multiply connected objects
US11928322B2 (en) System and method for handling overlapping objects in visual editing systems
KR20110099010A (en) Data visualization interactivity architecture
US8963959B2 (en) Adaptive graphic objects
JP2005108210A (en) Digital content representation display method, digital content representation presentation method, digital content presentation method, interaction information determination method, digital content distribution method, digital content representation display program, and system
US9886465B2 (en) System and method for rendering of hierarchical data structures
JP2010182004A (en) Folder management device, folder management method, and folder management program
JP2005108210A5 (en)
JP2007025998A (en) Information processor, its control method, computer program and computer readable storage medium
CN110286971B (en) Processing method and system, medium and computing device
RU2752777C1 (en) Web browser objects computer-aided magnification and centering
KR102245042B1 (en) Terminal, method for contrlling thereof and recording medium on which a program for implemeting the method
EP4407480A1 (en) Image generation from html data using incremental caching
US20240160416A1 (en) Multicell document editor minimoremap