RU2813299C2 - Method and system for controlling web page display - Google Patents

Method and system for controlling web page display Download PDF

Info

Publication number
RU2813299C2
RU2813299C2 RU2022109773A RU2022109773A RU2813299C2 RU 2813299 C2 RU2813299 C2 RU 2813299C2 RU 2022109773 A RU2022109773 A RU 2022109773A RU 2022109773 A RU2022109773 A RU 2022109773A RU 2813299 C2 RU2813299 C2 RU 2813299C2
Authority
RU
Russia
Prior art keywords
web page
user
activated
layout
layout element
Prior art date
Application number
RU2022109773A
Other languages
Russian (ru)
Other versions
RU2022109773A (en
Inventor
Александр Владимирович Комиссаров
Сергей Вячеславович Байбик
Original Assignee
Общество С Ограниченной Ответственностью "Яндекс"
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Яндекс" filed Critical Общество С Ограниченной Ответственностью "Яндекс"
Priority to US18/134,015 priority Critical patent/US20230325455A1/en
Publication of RU2022109773A publication Critical patent/RU2022109773A/en
Application granted granted Critical
Publication of RU2813299C2 publication Critical patent/RU2813299C2/en

Links

Abstract

FIELD: web browsing.
SUBSTANCE: invention is related to methods for controlling the display of a web page in a browser application. The method includes obtaining data representing a web page to be displayed in a browser application; determining, based on the data, on the web page at least one user-activated layout element to be displayed when the web page is displayed; initiating a simulated user action with at least one user-activated layout element; determining whether the simulated user action triggers a layout change indicative of the web page's ability to provide personalized web page cues in at least one user-activated layout element; in response to a layout change, preventing the browser application from providing personalized browser hints in at least one user-activated layout element on the web page while it is being displayed.
EFFECT: prevention of a conflict between personalized tooltips of web pages and the browser in a web page layout element when displaying a web page in a browser application.
20 cl, 8 dwg

Description

Область техники, к которой относится изобретениеField of technology to which the invention relates

[01] Настоящая технология в целом относится к просмотру веб-страниц и, в частности, к способу и системе для управления отображением некоторых элементов макета на веб-странице.[01] The present technology generally relates to web browsing, and in particular to a method and system for controlling the display of certain layout elements on a web page.

Уровень техникиState of the art

[02] Когда пользователь просматривает веб-страницы в сети (такой как сеть Интернет), с использованием браузерного приложения (такого как браузерное приложение Yandex.Browser™, браузерное приложение Google Chrome™, браузерное приложение Opera™ и т.п.), ему могут предлагаться подсказки в некоторых элементах макета веб-страницы. Например, веб-страница способна получать информацию от пользователя и, соответственно, может содержать поле ввода для текстовых входных данных пользователя, таких как адрес доставки пользователя, для которых в поле ввода может предлагаться автозаполнение.[02] When a user browses web pages on a network (such as the Internet), using a browser application (such as a Yandex.Browser™ browser application, a Google Chrome™ browser application, an Opera™ browser application, etc.), he may offer hints in some web page layout elements. For example, a web page is capable of receiving information from a user and accordingly may include an input field for text input from the user, such as the user's shipping address, for which the input field may offer autocomplete.

[03] В одном примере подсказки могут предоставляться браузерным приложением. В частности, браузерное приложение может (а) сохранять пользовательские данные, вводимые в различных элементах макета, по мере просмотра пользователем веб-страниц и (б) при определении наличия поля ввода на веб-странице, предназначенного, например, для ввода адреса, информации банковской карты, наименования продукта, предоставлять соответствующие входные данные, которые пользователь ранее вводил с помощью браузерного приложения. В частности, такие входные данные могут быть представлены в виде автоматически заполненной текстовой строки или раскрывающегося меню.[03] In one example, hints may be provided by a browser application. In particular, the browser application may (a) store user input in various layout elements as the user browses web pages and (b) determine the presence of an input field on the web page, for example, for entering an address, banking information cards, product names, provide corresponding input data that the user has previously entered using the browser application. In particular, such input may be presented in the form of an auto-populated text string or a drop-down menu.

[04] При этом сама веб-страница также может предоставлять персонализированные подсказки в поле ввода. Например, на основе определяемого текущего местоположения пользователя веб-сервер, на котором размещена веб-страница, способен автоматически заполнять адрес, вводимый пользователем в поле ввода.[04] However, the web page itself can also provide personalized suggestions in the input field. For example, based on the user's current location being determined, the web server hosting the web page is able to automatically fill in the address the user enters into an input field.

[05] Это приводит к возможности возникновения конфликта между подсказками, предоставленными браузерным приложением и веб-страницей, например, возможно их наложение друг на друга в поле ввода, в котором пользователь предоставляет свои входные данные, что может негативно влиять на восприятие пользователем взаимодействия с веб-страницей.[05] This leads to the possibility of conflict between the prompts provided by the browser application and the web page, for example, they may overlap each other in the input field in which the user provides their input, which can negatively impact the user's experience of the web experience. -page.

[06] Для решения описанной выше технической проблемы предложены некоторые известные подходы.[06] To solve the technical problem described above, some known approaches have been proposed.

[07] В патенте US9330200B2 «System and method for presenting input suggestions in input fields of a specific type in web pages by replacing the input field with a combo box» (Capital Intellect Inc., выдан 3 мая 2016 г.) описаны системы и способы отображения подсказок для входных данных на веб-страницах, содержащих поле ввода для получения пользовательских входных данных конкретного вида. В пользовательском устройстве хранится модуль, расположенный удаленно от базы данных, содержащей подсказки для входных данных. Модуль обнаруживает наличие полей ввода конкретного вида на веб-странице. Для каждого обнаруженного поля ввода конкретного вида модуль формирует комбинированный управляющий элемент, отображаемый так, чтобы закрывать и визуально заменять поле ввода. В комбинированных управляющих элементах отображаются подсказки для входных данных из базы данных. База данных может обновляться с целью добавления или удаления подсказок для входных данных на конкретных веб-сайтах, определенных как допустимые или недопустимые для этих веб-сайтов. Анализ допустимости подсказок для входных данных может основываться на результатах анализа страницы, отправленных из модуля, при этом анализ выполняется до отправки предлагаемой подсказки для входных данных и после нее.[07] Patent US9330200B2 “System and method for presenting input suggestions in input fields of a specific type in web pages by replacing the input field with a combo box” (Capital Intellect Inc., issued May 3, 2016) describes systems and methods for displaying input hints on web pages that contain an input field for receiving specific kinds of user input. The user device stores a module located remotely from the database containing input hints. The module detects the presence of input fields of a specific type on a web page. For each detected input field of a specific type, the module generates a combined control element that is displayed so as to close and visually replace the input field. Combo controls display tooltips for database input. The database may be updated to add or remove input hints on specific websites determined to be valid or invalid for those websites. Input hint validity analysis can be based on page analysis results sent from the module, with analysis performed before and after the proposed input hint is sent.

[08] В патенте US7716596B2 «Dynamic input field protection» (Twitter Inc., выдан 11 мая 2010 г.) описаны компьютерный способ и компьютерный программный продукт для защиты предварительно заполненного пользовательского поля ввода на предоставленной веб-странице от непреднамеренной перезаписи. Способ определяет предварительно заполненное поле ввода путем обнаружения наведения на него указателя мыши. В ответ на пользовательскую команду изменения состояния предварительно заполненного поля ввода способ переключает первоначально разблокированное предварительно заполненное поле ввода в заблокированное состояние или переключает первоначально заблокированное предварительно заполненное поле ввода в разблокированное состояние.[08] Patent US7716596B2 "Dynamic input field protection" (Twitter Inc., issued May 11, 2010) describes a computer method and computer program product for protecting a pre-populated user input field on a provided web page from being unintentionally overwritten. The method determines a pre-filled input field by detecting when a mouse pointer is hovering over it. In response to a user command to change the state of a pre-populated input field, the method switches an initially unlocked pre-populated input field to a locked state or switches an initially locked pre-populated input field to an unlocked state.

Раскрытие изобретенияDisclosure of the Invention

[09] Следовательно, требуются системы и способы, позволяющие исключать, уменьшать или преодолевать ограничения известных технологий.[09] Consequently, systems and methods are required to eliminate, reduce or overcome the limitations of known technologies.

[010] Разработчики настоящей технологии установили, что конфликтов между подсказками, предоставленными браузерным приложением и веб-страницей, можно избежать, если элементы макета последней, в которых веб-страница способна предоставлять свои подсказки, заранее определены до того, как пользователь активирует их для ввода данных в них.[010] The developers of this technology have determined that conflicts between hints provided by a browser application and a web page can be avoided if the layout elements of the latter in which the web page is capable of providing its hints are predefined before the user activates them for input data in them.

[011] В частности, разработчики разработали способы и системы, предназначенные для анализа ответов элементов макета веб-страницы на имитируемые пользовательские действия, например, такие как проверка обращения (hit testing). В частности, если элемент макета веб-страницы изменяет свой внешний вид в ответ на соответствующее имитируемое пользовательское действие, это может указывать на способность веб-страницы предоставлять в нем свои персонализированные подсказки. Настоящие способы и системы предназначены для того, чтобы запрещать браузерному приложению предоставлять персонализированные подсказки браузера в этом элементе макета.[011] In particular, developers have developed methods and systems designed to analyze the responses of web page layout elements to simulated user actions, such as hit testing. In particular, if a web page layout element changes its appearance in response to a corresponding simulated user action, this may indicate the web page's ability to provide personalized cues within it. The present methods and systems are designed to prevent a browser application from providing personalized browser hints in that layout element.

[012] Таким образом, различные не имеющие ограничительного характера варианты осуществления настоящей технологии обеспечивают преимущество одних подсказок перед другими, например, персонализированных подсказок веб-страницы перед персонализированными подсказками браузера, и предотвращают конфликты между ними в элементе макета, такие как их наложение друг на друга, что способно положительно влиять на восприятие пользователем.[012] Thus, various non-limiting embodiments of the present technology provide preference for some prompts over others, such as personalized web page prompts over personalized browser prompts, and prevent conflicts between them in a layout element, such as overlapping them. , which can positively influence user perception.

[013] Разработчики также установили, что настоящие способы и системы определения элементов макета, используемых для вывода подсказок веб-страницы, особенно удобны, когда веб-страница разработана с использованием языка программирования JavaScript или языка программирования CSS (Cascading Style Sheets, каскадные таблицы стилей), исходные коды которых могут не обеспечивать полных данных о видах элементов макета, подлежащих отображению на веб-странице, в отличие от, например, языка HTML (HyperText Markup Language, язык гипертекстовой разметки).[013] The developers have also found that the present methods and systems for defining layout elements used to display tooltips on a web page are particularly useful when the web page is developed using the JavaScript programming language or the CSS (Cascading Style Sheets) programming language. , the source codes of which may not provide complete data about the types of layout elements to be displayed on a web page, unlike, for example, the HTML language (HyperText Markup Language).

[014] В частности, согласно первому аспекту настоящей технологии реализован способ управления отображением веб-страницы в браузерном приложении. Способ выполняется процессором электронного устройства, выполняющего браузерное приложение. Браузерное приложение способно предоставлять персонализированные подсказки браузера в по меньшей мере одном активируемом пользователем элементе макета веб-страницы. Способ включает в себя: получение процессором данных, представляющих веб-страницу, подлежащую отображению в браузерном приложении; определение на веб-странице на основе этих данных по меньшей мере одного активируемого пользователем элемента макета, демонстрируемого во время отображения веб-страницы; инициирование процессором имитируемого пользовательского действия с по меньшей мере одним активируемым пользователем элементом макета; определение процессором того, инициирует ли имитируемое пользовательское действие изменение макета, указывающее на способность веб-страницы предоставлять в по меньшей мере одном активируемом пользователем элементе макета персонализированные подсказки веб-страницы, сформированные веб-страницей независимо от браузерного приложения; запрещение процессором предоставления браузерным приложением персонализированных подсказок браузера в по меньшей мере одном активируемом пользователем элементе макета на веб-странице во время ее отображения, если изменение макета указывает на способность веб-страницы предоставлять персонализированные подсказки веб-страницы в этом по меньшей мере одном активируемом пользователем элементе макета.[014] Specifically, according to the first aspect of the present technology, a method for controlling the display of a web page in a browser application is implemented. The method is executed by a processor of an electronic device executing a browser application. The browser application is capable of providing personalized browser hints in at least one user-activated web page layout element. The method includes: receiving by a processor data representing a web page to be displayed in a browser application; determining on the web page, based on the data, at least one user-activated layout element displayed when the web page is displayed; causing the processor to initiate a simulated user action with at least one user-activated layout element; determining by the processor whether the simulated user action triggers a layout change indicative of the web page's ability to provide, in at least one user-activated layout element, personalized web page cues generated by the web page independent of the browser application; preventing a browser application from providing personalized browser hints in at least one user-activated layout element in a web page while it is being displayed, if the layout change indicates the web page's ability to provide personalized web page cues in that at least one user-activated element layout.

[015] В некоторых вариантах осуществления способа данные, представляющие веб-страницу, содержат исходный код на языке JavaScript и/или на языке CSS.[015] In some embodiments of the method, the data representing the web page comprises JavaScript and/or CSS source code.

[016] В некоторых вариантах осуществления способа для инициирования имитируемого пользовательского действия способ дополнительно включает в себя: получение процессором схемы сканирования для по меньшей мере одного активируемого пользователем элемента макета, содержащей множество точек, представляющих внешний вид по меньшей мере одного активируемого пользователем элемента макета веб-страницы; применение процессором схемы сканирования в области по меньшей мере одного активируемого пользователем элемента макета, при этом инициирование имитируемого пользовательского действия с по меньшей мере одним активируемым пользователем элементом макета включает в себя инициирование имитируемого пользовательского действия с каждой точкой из множества точек.[016] In some embodiments of a method for initiating a simulated user action, the method further includes: obtaining, by the processor, a scanning pattern for the at least one user-activated layout element comprising a plurality of points representing the appearance of the at least one user-activated web layout element pages; the processor applying a scanning pattern in the area of the at least one user-activated layout element, wherein initiating a simulated user action with the at least one user-activated layout element includes initiating a simulated user action with each point of the plurality of points.

[017] В некоторых вариантах осуществления способа инициирование имитируемого пользовательского действия с точкой из множества точек выполняется с заранее заданным интервалом времени.[017] In some embodiments of the method, initiation of a simulated user action on a point from a plurality of points occurs at a predetermined time interval.

[018] В некоторых вариантах осуществления способа способ дополнительно включает в себя увеличение процессором заранее заданного интервала времени, если имитируемое пользовательское действие с точкой из множества точек не инициирует предоставления веб-страницей персонализированных подсказок веб-страницы в по меньшей мере одном активируемом пользователем элементе макета.[018] In some embodiments of the method, the method further includes the processor increasing a predetermined amount of time if the simulated user action with a dot of the plurality of dots does not trigger the web page to provide personalized web page suggestions in the at least one user-activated layout element.

[019] В некоторых вариантах осуществления способа увеличение заранее заданного интервала времени на каждой итерации инициирования имитируемого пользовательского действия с точкой из множества точек выполняется по экспоненциальному закону.[019] In some embodiments of the method, increasing a predetermined time interval at each iteration of initiating a simulated user action with a point from a set of points is performed according to an exponential law.

[020] В некоторых вариантах осуществления способа имитируемое пользовательское действие включает в себя проверку обращения к по меньшей мере одному активируемому пользователем элементу макета.[020] In some embodiments of the method, the simulated user action includes testing for access to at least one user-activated layout element.

[021] В некоторых вариантах осуществления способа инициирование имитируемого пользовательского действия выполняется до отображения веб-страницы.[021] In some embodiments of the method, initiation of the simulated user action occurs before the web page is displayed.

[022] В некоторых вариантах осуществления способа инициирование имитируемого пользовательского действия выполняется во время отображения веб-страницы.[022] In some embodiments of the method, initiation of the simulated user action occurs while the web page is being displayed.

[023] В некоторых вариантах осуществления способа инициирование имитируемого пользовательского действия выполняется в ответ на обновление веб-страницы.[023] In some embodiments of the method, the initiation of a simulated user action is in response to a web page refresh.

[024] В некоторых вариантах осуществления способа он дополнительно включает в себя запрещение процессором предоставления веб-страницей персонализированных подсказок веб-страницы в по меньшей мере одном активируемом пользователем элементе макета на веб-странице во время ее отображения, если изменение макета указывает на способность веб-страницы предоставлять персонализированные подсказки веб-страницы в этом по меньшей мере одном активируемом пользователем элементе макета.[024] In some embodiments of the method, it further includes preventing the web page from providing personalized web page cues in at least one user-activated layout element on the web page while it is being displayed if the layout change indicates the ability of the web page to pages provide personalized web page suggestions in the at least one user-activated layout element.

[025] Согласно второму аспекту настоящей технологии реализован способ управления отображением веб-страницы в браузерном приложении. Способ выполняется процессором электронного устройства, выполняющего браузерное приложение. Браузерное приложение способно предоставлять персонализированные подсказки браузера в по меньшей мере одном активируемом пользователем элементе макета веб-страницы. Способ включает в себя: получение процессором данных, представляющих веб-страницу, подлежащую отображению в браузерном приложении; определение на веб-странице на основе этих данных по меньшей мере одного активируемого пользователем элемента макета, демонстрируемого во время отображения веб-страницы; инициирование процессором имитируемого пользовательского действия с по меньшей мере одним активируемым пользователем элементом макета; определение процессором того, инициирует ли имитируемое пользовательское действие изменение макета в по меньшей мере одном активируемом пользователем элементе макета; запрещение процессором браузерных модификаций, сформированных приложением веб-браузера, в контенте по меньшей мере одного активируемого пользователем элемента макета на веб-странице во время ее отображения, если имитируемое пользовательское действие инициирует изменение макета в по меньшей мере одном активируемом пользователем элементе макета.[025] According to a second aspect of the present technology, a method for controlling the display of a web page in a browser application is implemented. The method is executed by a processor of an electronic device executing a browser application. The browser application is capable of providing personalized browser hints in at least one user-activated web page layout element. The method includes: receiving by a processor data representing a web page to be displayed in a browser application; determining on the web page, based on the data, at least one user-activated layout element displayed when the web page is displayed; causing the processor to initiate a simulated user action with at least one user-activated layout element; determining by the processor whether the simulated user action initiates a layout change in the at least one user-activated layout element; disabling, by the processor, browser modifications generated by the web browser application in the content of at least one user-activated layout element on the web page while it is being displayed if the simulated user action triggers a layout change in the at least one user-activated layout element.

[026] В некоторых вариантах осуществления способа изменение макета в по меньшей мере одном активируемом пользователем элементе макета указывает на способность веб-страницы предоставлять пользователю, просматривающему веб-страницу, персонализированные подсказки веб-страницы, сформированные веб-сервером, на котором размещена веб-страница, в по меньшей мере одном активируемом пользователем элементе макета.[026] In some embodiments of the method, the layout change in at least one user-activated layout element indicates the ability of the web page to provide the user viewing the web page with personalized web page suggestions generated by the web server on which the web page is hosted , in at least one user-activated layout element.

[027] В некоторых вариантах осуществления способа браузерные модификации контента по меньшей мере одного активируемого пользователем элемента включают в себя предоставление процессором, обеспечивающим браузерное приложение, в по меньшей мере одном активируемом пользователем элементе макета персонализированных подсказок браузера, сформированных браузерным приложением.[027] In some embodiments of the method, browser modifications to the content of the at least one user-activated element include the processor providing the browser application providing, in the at least one user-activated element, a layout of personalized browser prompts generated by the browser application.

[028] Согласно третьему аспекту настоящей технологии реализован способ управления отображением веб-страницы в браузерном приложении. Способ выполняется процессором электронного устройства, выполняющего браузерное приложение. Браузерное приложение способно предоставлять персонализированные подсказки браузера в по меньшей мере одном активируемом пользователем элементе макета веб-страницы. Способ включает в себя: получение процессором данных, представляющих веб-страницу, подлежащую отображению в браузерном приложении; определение на веб-странице на основе этих данных по меньшей мере одного активируемого пользователем элемента макета, демонстрируемого во время отображения веб-страницы; инициирование процессором имитируемого пользовательского действия с по меньшей мере одним активируемым пользователем элементом макета; определение процессором того, инициирует ли имитируемое пользовательское действие изменение макета, указывающее на способность веб-страницы предоставлять в по меньшей мере одном активируемом пользователем элементе макета персонализированные подсказки веб-страницы, сформированные веб-страницей независимо от браузерного приложения; запрещение процессором одного из следующих заранее заданных действий: предоставление браузерным приложением персонализированных подсказок браузера в по меньшей мере одном активируемом пользователем элементе макета на веб-странице во время ее отображения и предоставление веб-страницей персонализированных подсказок веб-страницы в по меньшей мере одном активируемом пользователем элементе макета на веб-странице во время ее отображения, если изменение макета указывает на способность веб-страницы предоставлять персонализированные подсказки веб-страницы в этом по меньшей мере одном активируемом пользователем элементе макета.[028] According to a third aspect of the present technology, a method for controlling the display of a web page in a browser application is implemented. The method is executed by a processor of an electronic device executing a browser application. The browser application is capable of providing personalized browser hints in at least one user-activated web page layout element. The method includes: receiving by a processor data representing a web page to be displayed in a browser application; determining on the web page, based on the data, at least one user-activated layout element displayed when the web page is displayed; causing the processor to initiate a simulated user action with at least one user-activated layout element; determining by the processor whether the simulated user action triggers a layout change indicative of the web page's ability to provide, in at least one user-activated layout element, personalized web page cues generated by the web page independent of the browser application; disabling the processor to do one of the following predetermined actions: the browser application providing personalized browser hints in at least one user-activated layout element on the web page while it is being displayed, and the web page providing personalized web page cues in at least one user-activated element layout on a web page while it is being displayed, if the layout change indicates the web page's ability to provide personalized web page cues in the at least one user-activated layout element.

[029] В некоторых вариантах осуществления способа данные, представляющие веб-страницу, содержат исходный код на языке JavaScript и/или на языке CSS.[029] In some embodiments of the method, the data representing the web page comprises JavaScript and/or CSS source code.

[030] В некоторых вариантах осуществления способа перед инициированием имитируемого пользовательского действия способ дополнительно включает в себя: получение процессором схемы сканирования для по меньшей мере одного активируемого пользователем элемента макета, содержащей множество точек, представляющих внешний вид по меньшей мере одного активируемого пользователем элемента макета веб-страницы;[030] In some embodiments of the method, before initiating the simulated user action, the method further includes: obtaining, by the processor, a scan pattern for the at least one user-activated layout element comprising a plurality of points representing the appearance of the at least one user-activated web layout element; pages;

[031] Применение процессором схемы сканирования в области по меньшей мере одного активируемого пользователем элемента макета, при этом инициирование имитируемого пользовательского действия с по меньшей мере одним активируемым пользователем элементом макета включает в себя инициирование имитируемого пользовательского действия с каждой точкой из множества точек.[031] The processor applying a scanning pattern in the region of the at least one user-activated layout element, wherein initiating a simulated user action with the at least one user-activated layout element includes initiating a simulated user action with each point of the plurality of points.

[032] В некоторых вариантах осуществления способа инициирование имитируемого пользовательского действия с точкой из множества точек выполняется с заранее заданным интервалом времени.[032] In some embodiments of the method, initiation of a simulated user action on a point from a plurality of points occurs at a predetermined time interval.

[033] В некоторых вариантах осуществления способа он дополнительно включает в себя увеличение процессором заранее заданного интервала времени, если имитируемое пользовательское действие с точкой из множества точек не инициирует предоставления веб-страницей персонализированных подсказок веб-страницы в по меньшей мере одном активируемом пользователем элементе макета.[033] In some embodiments of the method, it further includes the processor increasing a predetermined amount of time if the simulated user action with a dot of the plurality of dots does not trigger the web page to provide personalized web page suggestions in the at least one user-activated layout element.

[034] В некоторых вариантах осуществления способа увеличение заранее заданного интервала времени на каждой итерации инициирования имитируемого пользовательского действия с точкой из множества точек выполняется по экспоненциальному закону.[034] In some embodiments of the method, increasing a predetermined time interval at each iteration of initiating a simulated user action with a point from a set of points is performed according to an exponential law.

[035] В некоторых вариантах осуществления способа имитируемое пользовательское действие включает в себя проверку обращения к по меньшей мере одному активируемому пользователем элементу макета.[035] In some embodiments of the method, the simulated user action includes testing for access to at least one user-activated layout element.

[036] Согласно другому аспекту настоящей технологии реализована система для управления отображением веб-страницы в браузерном приложении. Система содержит электронное устройство, выполняющее браузерное приложение, способное предоставлять персонализированные подсказки браузера в по меньшей мере одном активируемом пользователем элементе макета веб-страницы. Электронное устройство содержит процессор и машиночитаемый физический носитель информации, хранящий команды. Процессор при выполнении команд способен: получать данные, представляющие веб-страницу, подлежащую отображению в браузерном приложении; на основе этих данных определять на веб-странице по меньшей мере один активируемый пользователем элемент макета, демонстрируемый во время отображения веб-страницы; инициировать имитируемое пользовательское действие с по меньшей мере одним активируемым пользователем элементом макета; определять, инициирует ли имитируемое пользовательское действие изменение макета, указывающее на способность веб-страницы предоставлять в по меньшей мере одном активируемом пользователем элементе макета персонализированные подсказки веб-страницы, сформированные веб-страницей независимо от браузерного приложения; запрещать предоставление браузерным приложением персонализированных подсказок браузера в по меньшей мере одном активируемом пользователем элементе макета на веб-странице во время ее отображения, если изменение макета указывает на способность веб-страницы предоставлять персонализированные подсказки веб-страницы в этом по меньшей мере одном активируемом пользователем элементе макета.[036] According to another aspect of the present technology, a system is implemented for controlling the display of a web page in a browser application. The system includes an electronic device executing a browser application capable of providing personalized browser prompts in at least one user-activated web page layout element. The electronic device contains a processor and a machine-readable physical storage medium that stores instructions. The processor, when executing commands, is capable of: receiving data representing a web page to be displayed in a browser application; based on this data, determine on the web page at least one user-activated layout element that is displayed when the web page is displayed; initiate a simulated user action with at least one user-activated layout element; determine whether the simulated user action triggers a layout change indicative of the web page's ability to provide, in at least one user-activated layout element, personalized web page cues generated by the web page independent of the browser application; prevent a browser application from providing personalized browser hints in at least one user-activated layout element on a web page while it is being displayed, if the layout change indicates the web page's ability to provide personalized web page hints in that at least one user-activated layout element .

[037] В некоторых вариантах осуществления системы перед инициированием имитируемого пользовательского действия процессор дополнительно способен: получать схему сканирования для по меньшей мере одного активируемого пользователем элемента макета, содержащую множество точек, представляющих внешний вид по меньшей мере одного активируемого пользователем элемента макета веб-страницы; применять схему сканирования в области по меньшей мере одного активируемого пользователем элемента макета, при этом для инициирования имитируемого пользовательского действия с по меньшей мере одним активируемым пользователем элементом макета процессор способен инициировать имитируемое пользовательское действие с каждой точкой из множества точек.[037] In some embodiments of the system, prior to initiating a simulated user action, the processor is further capable of: obtaining a scan pattern for the at least one user-activated layout element comprising a plurality of points representing the appearance of the at least one user-activated layout element of the web page; apply a scanning pattern in the region of the at least one user-activated layout element, wherein to initiate a simulated user action on the at least one user-activated layout element, the processor is capable of initiating a simulated user action on each point of the plurality of points.

[038] В некоторых вариантах осуществления системы процессор способен инициировать имитируемое пользовательское действие с точкой из множества точек с использованием заранее заданного интервала времени.[038] In some system embodiments, the processor is capable of initiating a simulated user action on a point from a plurality of points using a predetermined time interval.

[039] В некоторых вариантах осуществления системы процессор дополнительно способен увеличивать заранее заданный интервал времени, если имитируемое пользовательское действие с точкой из множества точек не инициирует предоставления веб-страницей персонализированных подсказок веб-страницы в по меньшей мере одном активируемом пользователем элементе макета.[039] In some system embodiments, the processor is further capable of increasing a predetermined time interval if a simulated user action with a dot of the plurality of dots does not trigger the web page to provide personalized web page suggestions in at least one user-activated layout element.

[040] В некоторых вариантах осуществления системы процессор способен увеличивать по экспоненциальному закону заранее заданный интервал времени на каждой итерации инициирования имитируемого пользовательского действия с точкой из множества точек.[040] In some system embodiments, the processor is capable of exponentially increasing a predetermined time interval at each iteration of initiating a simulated user action on a point of a plurality of points.

[041] В некоторых вариантах осуществления системы имитируемое пользовательское действие включает в себя проверку обращения к по меньшей мере одному активируемому пользователем элементу макета.[041] In some system embodiments, the simulated user action includes testing for access to at least one user-activated layout element.

[042] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, от электронных устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут быть реализованы в виде одного физического компьютера или одной компьютерной системы, что не существенно для настоящей технологии. В настоящем контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая определенная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это выражение означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или запускать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».[042] As used herein, the term “server” means a computer program executed by associated hardware and capable of receiving requests (eg, from electronic devices) via a network and executing or initiating execution of those requests. The hardware can be implemented in the form of one physical computer or one computer system, which is not essential for this technology. In the present context, the expression "server" does not mean that every task (for example, a received command or request) or any specific task is accepted, executed or launched by the same server (i.e. the same software and/or hardware ). This expression means that any number of software or hardware can receive, send, execute, or cause execution of any task or request, or the results of any tasks or requests. All of these software and hardware may be a single server or multiple servers, both of which are implied by the expression “at least one server.”

[043] В контексте настоящего описания термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. В контексте настоящего описания термин «электронное устройство» подразумевает, что устройство может функционировать в качестве сервера для других электронных устройств, тем не менее, это не обязательно для настоящей технологии. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя блок автономного вождения, персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Должно быть понятно, что в настоящем контексте тот факт, что устройство функционирует в качестве электронного устройства, не означает, что оно не может функционировать в качестве сервера для других электронных устройств.[043] As used herein, the term "electronic device" means any computer hardware capable of executing programs suitable for solving a given task. As used herein, the term "electronic device" implies that the device can function as a server for other electronic devices, however, this is not necessary for the present technology. Thus, some (non-limiting) examples of electronic devices include autonomous driving units, personal computers (desktops, laptops, netbooks, etc.), smartphones and tablets, and networking equipment such as routers, switches, and gateways. It should be understood that in the present context, the fact that a device functions as an electronic device does not mean that it cannot function as a server for other electronic devices.

[044] В контексте настоящего описания выражение «информация» включает в себя информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя визуальные произведения (например, карты), аудиовизуальные произведения (например, изображения, фильмы, звукозаписи, презентации и т.д.), данные (например, данные о местоположении, метеорологические данные, данные о дорожном движении, числовые данные и т.д.), текст (например, мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д., но не ограничивается ими.[044] As used herein, the expression “information” includes information of any kind or kind capable of being stored in a database. Thus, information includes visual works (for example, maps), audio-visual works (for example, images, films, sound recordings, presentations, etc.), data (for example, location data, meteorological data, traffic data, numerical data, etc.), text (such as, but not limited to, opinions, comments, questions, messages, etc.), documents, spreadsheets, etc.

[045] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, где реализован процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.[045] As used herein, the term “database” means any structured collection of data, regardless of its specific structure, database management software, or computer hardware for storing, using, or otherwise making use of that data. The database may reside in the same hardware as the process that stores or uses the information stored in the database, or the database may reside in separate hardware, such as a dedicated server or multiple servers.

[046] В контексте настоящего описания числительные «первый» «второй», «третий» и т.д. используются лишь для указания на различие между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Кроме того, как встречается в настоящем описании в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом.[046] In the context of the present description, the numerals “first”, “second”, “third”, etc. are used only to indicate differences between the nouns they refer to, but not to describe any specific relationships between those nouns. Moreover, as appears herein in other contexts, reference to a “first” element and a “second” element does not preclude the possibility that the two elements may in fact be the same element.

[047] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или одному из вышеупомянутых аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.[047] Each embodiment of the present technology relates to at least one of the above-mentioned objectives and/or one of the above-mentioned aspects, but not necessarily all of them. It should be understood that some aspects of the present technology associated with attempting to achieve the above purpose may not be consistent with that purpose and/or may be consistent with other purposes not expressly mentioned herein.

[048] Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов осуществления настоящей технологии содержатся в дальнейшем описании, на приложенных чертежах и в формуле изобретения.[048] Additional and/or alternative features, aspects and advantages of embodiments of the present technology are set forth in the following description, the accompanying drawings, and the claims.

Краткое описание чертежейBrief description of drawings

[049] Эти и другие признаки, аспекты и преимущества настоящей технологии поясняются в дальнейшем описании, в приложенной формуле изобретения и на следующих чертежах.[049] These and other features, aspects and advantages of the present technology are set forth in the following description, in the appended claims and in the following drawings.

[050] На фиг. 1 представлена схема примера компьютерной системы, которая может быть использована для осуществления некоторых не имеющих ограничительного характера вариантов настоящей технологии.[050] In FIG. 1 is a diagram of an example computer system that may be used to implement some non-limiting embodiments of the present technology.

[051] На фиг. 2 приведена схема сетевой вычислительной среды, содержащей компьютерную систему, представленную на фиг. 1, и пригодной для использования с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[051] In FIG. 2 is a diagram of a networked computing environment containing the computer system shown in FIG. 1, and suitable for use with certain non-limiting embodiments of the present technology.

[052] На фиг. 3 приведено схематическое изображение графического интерфейса пользователя (GUI, Graphical User Interface) браузерного приложения, выполняемого в электронном устройстве из сетевой вычислительной среды, представленной на фиг. 2, и обеспечивающего визуальное представление веб-страницы, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[052] In FIG. 3 is a schematic representation of a graphical user interface (GUI) of a browser application running on an electronic device from the network computing environment shown in FIG. 2, and providing a visual representation of a web page, according to some non-limiting embodiments of the present technology.

[053] На фиг. 4 и 5 приведены схематические изображения для различных подходов к предоставлению персонализированных подсказок в конкретных элементах макета веб-страницы, представленной на фиг. 3, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[053] In FIG. 4 and 5 provide schematic illustrations of various approaches to providing personalized cues in specific elements of the web page layout shown in FIG. 3, according to some non-limiting embodiments of the present technology.

[054] На фиг. 6 схематически представлено наложение в элементе макета веб-страницы, представленной на фиг. 3, персонализированных подсказок двух видов, независимо сформированных сервером, на котором размещена веб-страница, и браузерным приложением, обеспечивающим ее визуальное представление, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[054] In FIG. 6 is a schematic representation of an overlay in a web page layout element of FIG. 3, two types of personalized suggestions independently generated by the server hosting the web page and the browser application providing its visual representation, according to some non-limiting embodiments of the present technology.

[055] На фиг. 7 схематически представлен подход к сканированию элемента макета веб-страницы, представленной на фиг. 3, с целью определения процессором электронного устройства из сетевой вычислительной среды, представленной на фиг. 2, способности веб-страницы предоставлять свои персонализированные подсказки независимо от браузерного приложения, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[055] In FIG. 7 is a schematic representation of an approach to scanning an element of the web page layout shown in FIG. 3, for the purpose of the processor identifying an electronic device from the network computing environment shown in FIG. 2, the ability of a web page to provide its personalized hints independent of the browser application, according to some non-limiting embodiments of the present technology.

[056] На фиг. 8 приведена блок-схема способа управления со стороны процессора электронного устройства из сетевой вычислительной среды, представленной на фиг. 2, отображением веб-страницы, представленной на фиг. 3, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[056] In FIG. 8 is a flowchart of a method for control by a processor of an electronic device from the network computing environment shown in FIG. 2 by displaying the web page shown in FIG. 3, according to some non-limiting embodiments of the present technology.

Осуществление изобретенияCarrying out the invention

[057] Представленные здесь примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.[057] The examples and conventional language presented here are intended to provide a better understanding of the principles of this technology and not to limit its scope to such specifically provided examples and conditions. It is obvious that those skilled in the art are capable of developing various methods and devices that are not explicitly described or shown, but implement the principles of the present technology within its spirit and scope.

[058] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области должно быть понятно, что другие варианты осуществления настоящей технологии могут быть значительно сложнее.[058] In addition, to facilitate a better understanding, the following description may contain simplified embodiments of the present technology. Those skilled in the art will appreciate that other embodiments of the present technology may be significantly more complex.

[059] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объема или границ настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.[059] In some cases, useful examples of modifications to the present technology are provided. They promote understanding, but also do not define the scope or boundaries of the actual technology. The presented list of modifications is not exhaustive and a person skilled in the art may develop other modifications within the scope of this technology. In addition, if in some cases modifications are not described, this does not mean that they are impossible and/or that the description contains the only possible implementation of a particular element of this technology.

[060] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры, предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть понятно, что любые описанные здесь структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих основы настоящей технологии. Также должно быть понятно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.[060] Moreover, the description of the principles, aspects and embodiments of the present technology, as well as specific examples thereof, are intended to cover their structural and functional equivalents, whether currently known or developed in the future. For example, those skilled in the art will appreciate that any block diagrams described herein correspond to the conceptual representations of illustrative circuit diagrams implementing the fundamentals of the present technology. It should also be clear that any flowcharts, process diagrams, state transition diagrams, pseudo codes, etc. correspond to various processes that may be represented on a computer-readable physical storage medium and may be performed by a computer or processor, whether such computer or processor is explicitly shown or not.

[061] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), постоянное запоминающее устройство (ПЗУ) для хранения программного обеспечения, оперативное запоминающее устройство (ОЗУ) и энергонезависимое запоминающее устройство. Также могут подразумеваться и другие аппаратные средства, общего назначения и/или заказные.[061] The functions of the various elements shown in the drawings, including any functional block designated as a “processor,” may be implemented using dedicated hardware as well as hardware capable of executing associated software. If a processor is used, these functions may be performed by one dedicated processor, one shared processor, or a plurality of separate processors, some of which may be shared. In addition, explicit use of the term "processor" or "controller" should not be construed as referring solely to hardware capable of executing software and may include, but is not limited to, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), Field Programmable Gate Array (FPGA), Read Only Memory (ROM) for storing software, Random Access Memory (RAM), and Non-Volatile Memory. Other hardware, general purpose and/or custom, may also be included.

[062] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.[062] Software modules, or simply modules intended to be implemented in software, may be represented herein as any combination of flowchart elements or other elements indicating the execution of process steps and/or containing a textual description. Such modules may be executed by hardware, shown explicitly or implicitly.

[063] Далее с учетом вышеизложенных принципов рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.[063] Given the foregoing principles, some non-limiting examples are provided below to illustrate various embodiments of aspects of the present technology.

Компьютерная системаComputer system

[064] На фиг. 1 представлена компьютерная система 100, пригодная для использования в некоторых вариантах осуществления настоящей технологии. Компьютерная система 100 содержит различные аппаратные элементы, включая один или несколько одно- или многоядерных процессоров, обобщенно представленных процессором 110, графический процессор 111 (GPU), твердотельный накопитель 120, ОЗУ 130, интерфейс 140 дисплея и интерфейс 150 ввода-вывода.[064] In FIG. 1 illustrates a computer system 100 suitable for use in some embodiments of the present technology. The computer system 100 includes various hardware elements, including one or more single- or multi-core processors, generally represented by a processor 110, a graphics processing unit (GPU) 111, a solid-state drive 120, a RAM 130, a display interface 140, and an input/output interface 150.

[065] Связь между элементами компьютерной системы 100 может осуществляться через одну или несколько внутренних и/или внешних шин 160 (таких как шина PCI, шина USB, шина FireWire стандарта IEEE 1394, шина SCSI, шина Serial-ATA и т.д.), с которыми различные аппаратные элементы соединены электронными средствами.[065] Communication between elements of the computer system 100 may occur through one or more internal and/or external buses 160 (such as a PCI bus, a USB bus, an IEEE 1394 FireWire bus, a SCSI bus, a Serial-ATA bus, etc.) , to which various hardware elements are connected electronically.

[066] Интерфейс 150 ввода-вывода может соединяться с сенсорным экраном 190 и/или с одной или несколькими внутренними и/или внешними шинами 160. Сенсорный экран 190 может также называться экраном (например, экран (отдельно не обозначен) электронного устройства 210, представленного на фиг. 2). В представленных на фиг. 1 вариантах осуществления изобретения сенсорный экран 190 содержит сенсорные аппаратные средства 194 (например, чувствительные к нажатию ячейки, встроенные в слой дисплея и позволяющие обнаруживать физическое взаимодействие между пользователем и дисплеем) и контроллер 192 сенсорных средств ввода-вывода, который обеспечивает связь с интерфейсом 140 дисплея и/или с одной или несколькими внутренними и/или внешними шинами 160. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии интерфейс 150 ввода-вывода может быть соединен с клавиатурой (отдельно не показана), мышью (отдельно не показана) или сенсорной площадкой (отдельно не показана), которые обеспечивают взаимодействие пользователя с компьютерной системой 100 в дополнение к сенсорному экрану 190 или вместо него.[066] The input/output interface 150 may be coupled to a touch screen 190 and/or to one or more internal and/or external buses 160. The touch screen 190 may also be referred to as a screen (e.g., a screen (not specifically identified) of the electronic device 210 illustrated by in Fig. 2). In the ones shown in FIGS. 1 embodiments, touch screen 190 includes touch hardware 194 (e.g., pressure-sensitive cells embedded in the display layer to detect physical interaction between the user and the display) and a touch I/O controller 192 that communicates with display interface 140 and/or with one or more internal and/or external buses 160. In some non-limiting embodiments of the present technology, I/O interface 150 may be coupled to a keyboard (not separately shown), mouse (not separately shown), or touch pad (not shown separately) that provide user interaction with the computer system 100 in addition to or instead of the touch screen 190.

[067] Следует отметить, что в некоторых не имеющих ограничительного характера вариантах осуществления изобретения некоторые элементы компьютерной системы 100 могут отсутствовать. Например, клавиатура и мышь (отдельно не показаны) могут отсутствовать, в частности, если компьютерная система 100 реализована в виде малогабаритного электронного устройства, такого как смартфон (не ограничиваясь этим).[067] It should be noted that in some non-limiting embodiments of the invention, certain elements of the computer system 100 may be missing. For example, a keyboard and mouse (not separately shown) may be absent, particularly if the computer system 100 is implemented as a small electronic device such as (but not limited to) a smartphone.

[068] Согласно вариантам осуществления настоящей технологии, твердотельный накопитель 120 хранит программные команды, пригодные для загрузки в ОЗУ 130 и выполнения процессором 110 и/или графическим процессором 111. Программные команды могут, например, входить в состав библиотеки или приложения.[068] In embodiments of the present technology, solid state drive 120 stores software instructions suitable for loading into RAM 130 and execution by processor 110 and/or graphics processor 111. The software instructions may, for example, be part of a library or application.

Сетевая вычислительная средаNetwork computing environment

[069] На фиг. 2 представлена сетевая вычислительная среда 200 (на чертежах не показано), пригодная для использования в некоторых вариантах осуществления настоящей технологии, не имеющих ограничительного характера. Сетевая вычислительная среда 200 содержит электронное устройство 210, соединенное через сеть 240 связи с сервером 250. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии электронное устройство 210 может быть связано с пользователем 230.[069] In FIG. 2 illustrates a network computing environment 200 (not shown) suitable for use in certain non-limiting embodiments of the present technology. Networked computing environment 200 includes an electronic device 210 connected via a communication network 240 to a server 250. In some non-limiting embodiments of the present technology, the electronic device 210 may be associated with a user 230.

[070] В не имеющих ограничительного характера вариантах осуществления настоящей технологии электронное устройство 210 может представлять собой любые компьютерные аппаратные средства, способные выполнять программы, подходящие для решения поставленной задачи. Таким образом, в качестве некоторых не имеющих ограничительного характера примеров электронного устройства 210 можно привести персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты. Электронное устройство 210 может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1.[070] In non-limiting embodiments of the present technology, electronic device 210 may be any computer hardware capable of executing programs suitable for solving a given task. Thus, some non-limiting examples of electronic device 210 include personal computers (desktops, laptops, netbooks, etc.), smartphones, and tablets. Electronic device 210 may include some or all of the elements of the computer system 100 shown in FIG. 1.

[071] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 250 может быть реализован в виде традиционного компьютерного сервера и может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1. В одном не имеющем ограничительного характера примере сервер 250 реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™, но он также может быть реализован с использованием любых других подходящих аппаратных средств, прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленных не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 250 представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии (не показаны) функции сервера 250 могут быть распределены между несколькими серверами.[071] In some non-limiting embodiments of the present technology, server 250 may be implemented as a traditional computer server and may include some or all of the elements of the computer system 100 illustrated in FIG. 1. In one non-limiting example, server 250 is implemented as a Dell™ PowerEdge™ server running the Microsoft™ Windows Server™ operating system, but it may also be implemented using any other suitable hardware, application software and/or or embedded software or a combination thereof. In the illustrated non-limiting embodiments of the present technology, server 250 is a single server. In other non-limiting embodiments of the present technology (not shown), the functions of the server 250 may be distributed among multiple servers.

[072] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, сервер 250 может содержать веб-ресурс 255. В общем случае веб-ресурс 255 может содержать и таким образом обеспечивать доступ к информации различных видов, такой как тексты, изображения, аудиоматериалы и видеоматериалы, размещенные на по меньшей мере одной веб-странице (такой как веб-страница 302, представленная на фиг. 3), которая может быть идентифицирована в сети 240 связи, например, с использованием универсального указателя ресурсов (URL, Universal Resource Locator), связанного с по меньшей мере одной страницей. В качестве примеров веб-ресурса 255 можно привести веб-сайт, такой как коммерческий веб-сайт, предназначенный для рекламы конкретных товаров, социальную сеть (такую как Facebook.com™), онлайн-видеосервис (например, Kinopoisk.ru™) и т.д.[072] According to some non-limiting embodiments of the present technology, server 250 may contain a web resource 255. In general, the web resource 255 may contain and thus provide access to various types of information, such as text, images, audio, and video material hosted on at least one web page (such as web page 302 presented in FIG. 3) that can be identified in the communication network 240, for example, using a universal resource locator (URL), associated with at least one page. Examples of web property 255 include a website such as a commercial website designed to advertise specific products, a social network (such as Facebook.com™), an online video service (for example, Kinopoisk.ru™), etc. .d.

[073] Таким образом, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии пользователь 230 с использованием электронного устройства 210 может запросить доступ к веб-странице 302, например, путем отправки URL-адреса в адресной строке (не показана на фиг. 2) браузерного приложения 215 (не показано на чертежах), выполняемого в электронном устройстве 210. В другом примере пользователь 230 может быть перенаправлен на веб-страницу 302 с другой веб-страницы, содержащей ссылку на веб-страницу 302, выбранную пользователем 230. В ответ сервер 250 может предоставлять электронному устройству 210 доступ к веб-странице 302 веб-ресурса 255 путем отправки представляющего ее цифрового документа электронному устройству 210 для демонстрации пользователю 230.[073] Thus, in some non-limiting embodiments of the present technology, a user 230 using an electronic device 210 may request access to a web page 302, for example, by submitting a URL in the address bar (not shown in FIG. 2). browser application 215 (not shown in the drawings) running on electronic device 210. In another example, user 230 may be redirected to web page 302 from another web page containing a link to web page 302 selected by user 230. In response, the server 250 may provide electronic device 210 access to web page 302 of web resource 255 by sending a digital document representing it to electronic device 210 for display to user 230.

[074] В контексте настоящего описания браузерное приложение 215 может представлять собой программное приложение, выполняемое в электронном устройстве, таком как электронное устройство 210, и способное обеспечивать доступ к ресурсам узлов сети, например, сети 240 связи, в ответ на получение их адресов в этой сети. В конкретном не имеющем ограничительного характера примере браузерное приложение 215 может быть реализовано в виде браузерного приложения Yandex.Browser™, предоставляемого компанией ООО «Яндекс», ул. Льва Толстого, 16, Москва, 119021, Россия.[074] As used herein, browser application 215 may be a software application running on an electronic device, such as electronic device 210, and capable of providing access to resources of network nodes, such as communications network 240, in response to receiving their addresses in that networks. In a specific, non-limiting example, the browser application 215 may be implemented as the Yandex.Browser™ browser application provided by Yandex LLC, st. Lev Tolstoy, 16, Moscow, 119021, Russia.

[075] Кроме того, цифровой документ, представляющий веб-страницу 302, может содержать исполняемый исходный код, например, разработанный на языке HTML. Тем не менее, в других не имеющих ограничительного характера вариантах осуществления настоящей технологии по меньшей мере часть исполняемого исходного кода может быть разработана на другом языке программирования, например, на языке программирования JavaScript и/или CSS.[075] In addition, the digital document representing the web page 302 may contain executable source code, such as developed in HTML. However, in other non-limiting embodiments of the present technology, at least a portion of the executable source code may be developed in another programming language, such as JavaScript and/or CSS.

[076] После получения этого цифрового документа возможно инициирование выполнения браузерным приложением 215 электронного устройства 210 исполняемого исходного кода, связанного с веб-страницей 302, и таким образом формирование, например, блоком визуализации браузерного приложения 215, ее визуального представления для демонстрации пользователю 230.[076] Upon receipt of this digital document, it is possible for the browser application 215 to cause the electronic device 210 to execute executable source code associated with the web page 302 and thereby generate, for example, a rendering unit of the browser application 215, a visual representation thereof for display to the user 230.

[077] На фиг. 3 представлен интерфейс GUI браузерного приложения 215, обеспечивающий визуальное представление веб-страницы 302, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[077] In FIG. 3 illustrates a GUI interface of a browser application 215 providing a visual representation of a web page 302, in accordance with some non-limiting embodiments of the present technology.

[078] Как показано на фиг. 3, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, веб-страница 302 может содержать множество элементов макета, определяющих ее визуальное представление. Например, некоторые элементы из множества элементов макета могут быть статическими, т.е. неспособными реагировать на пользовательские действия с ними. Такие элементы макета называются здесь неактивируемыми пользователем элементами макета. В качестве примера можно привести неактивируемый пользователем элемент 304 макета, содержащий заголовок «Contact Information» («Контактная информация»), который, как предполагается, после отображения блоком визуализации браузерного приложения 215 не реагирует на пользовательские действия пользователя 230 в отношении него.[078] As shown in FIG. 3, according to some non-limiting embodiments of the present technology, a web page 302 may contain a plurality of layout elements that define its visual presentation. For example, some elements of the set of layout elements may be static, i.e. unable to respond to user actions with them. Such layout elements are referred to herein as non-user-activated layout elements. An example is a non-user-activated layout element 304 containing the title "Contact Information" which, once rendered by the renderer of the browser application 215, is not expected to respond to user actions by the user 230 on it.

[079] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, визуальное представление веб-страницы 302 также может содержать элементы макета, с которыми пользователь 230 может взаимодействовать. Такие элементы макета называются здесь активируемыми пользователем элементами макета и могут включать в себя элементы макета, способные получать вводимую пользователем информацию, такую как «клики», текстовые данные, вводимые пользователем 230, и т.п. Например, как показано на фиг. 3, активируемый пользователем элемент 306 макета может содержать поле ввода для получения текстовой информации, представляющей адрес, который должен предоставить пользователь 230. На другие примеры активируемых пользователем элементов макета не накладывается каких-либо ограничений. В зависимости от содержания соответствующей веб-страницы они могут включать в себя флажки, радиокнопки, раскрывающиеся меню и другие интерактивные веб-элементы, внешний вид которых может изменяться в ответ на действия пользователя 230.[079] According to some non-limiting embodiments of the present technology, the visual presentation of the web page 302 may also include layout elements with which the user 230 can interact. Such layout elements are referred to herein as user-activated layout elements and may include layout elements capable of receiving user input, such as clicks, text input from user 230, and the like. For example, as shown in FIG. 3, user-activated layout element 306 may include an input field for receiving text information representing an address to be provided by user 230. Other examples of user-activated layout elements are not limited in any way. Depending on the content of the corresponding web page, these may include checkboxes, radio buttons, drop-down menus, and other interactive web elements whose appearance may change in response to user actions 230.

[080] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, активируемый пользователем элемент 306 макета веб-страницы 302 может выводить персонализированные подсказки в ответ на конкретные пользовательские действия. В данном контексте персонализированная подсказка представляет собой прогнозируемое автоматическое завершение пользовательского действия с активируемым пользователем элементом 306 макета.[080] According to some non-limiting embodiments of the present technology, a user-activated element 306 of the layout of a web page 302 may display personalized prompts in response to specific user actions. In this context, a personalized prompt is the predictive automatic completion of a user action on a user-activated layout element 306.

[081] На фиг. 4 и 5 приведены схематические представления подхода к предоставлению персонализированных подсказок 404 для активируемого пользователем элемента 306 макета в ответ на пользовательские действия 402 с ним, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии. Предполагается, что пользовательские действия 402 могут, например, соответствовать частично введенной текстовой информации, представляющей адрес. Тем не менее, пользовательские действия 402 с активируемым пользователем элементом 306 макета также могут включать в себя «клик», например, размещение курсора в активируемом пользователем элементе 306 макета или наведение указателя (например, указателя мыши) на активируемый пользователем элемент 306 макета и т.п.[081] In FIG. 4 and 5 are schematic representations of an approach to providing personalized suggestions 404 for a user-activated layout element 306 in response to user actions 402 thereon, according to some non-limiting embodiments of the present technology. It is contemplated that user actions 402 may, for example, correspond to partially entered text information representing an address. However, user actions 402 on user-activated layout element 306 may also include a “click,” such as placing a cursor on user-activated layout element 306 or hovering a pointer (e.g., a mouse pointer) over user-activated layout element 306, etc. P.

[082] В одном примере, представленном на фиг. 4, в ответ на пользовательские действия 402 персонализированные подсказки 404, выводимые в активируемом пользователем элементе 306 макета, могут содержать автоматическое заполнение частично введенных пользователем 230 данных. В ответ на предоставленные персонализированные подсказки 404 пользователь 230 может (а) подтвердить персонализированные подсказки 404, например, путем предоставления заранее заданной подтверждающей входной информации (такой как «клик» на подсказке), или (б) отклонить персонализированные подсказки 404, например, путем продолжения ввода адреса с клавиатуры.[082] In one example shown in FIG. 4, in response to user actions 402, personalized tooltips 404 displayed in the user-activated layout element 306 may include automatic completion of partial user input 230. In response to the personalized prompts 404 provided, the user 230 may (a) confirm the personalized prompts 404, for example, by providing predetermined confirming input information (such as “click” on the prompt), or (b) reject the personalized prompts 404, for example, by continuing entering an address from the keyboard.

[083] В другом примере персонализированные подсказки 404, выводимые в активируемом пользователем элементе 306 макета, могут содержать множество вариантов автоматического завершения, соответствующих пользовательским действиям 402 и размещенных, например, в раскрывающемся меню, как показано на фиг. 5, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии. В этом примере пользователь 230 может (а) выбрать один из предоставленных вариантов автозавершения из числа персонализированных подсказок 404, например, с помощью «клика» на нем, или (б) отклонить все персонализированные подсказки 404, например, путем продолжения ввода адреса с клавиатуры.[083] In another example, personalized prompts 404 displayed in user-activated layout element 306 may include multiple auto completion options corresponding to user actions 402 and placed, for example, in a drop-down menu as shown in FIG. 5, according to some non-limiting embodiments of the present technology. In this example, the user 230 can (a) select one of the provided autocomplete options from among the personalized 404 suggestions, such as by “clicking” on it, or (b) reject all personalized 404 suggestions, such as by continuing to enter the address using the keyboard.

[084] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, персонализированные подсказки 404 могут быть сформированы и предоставлены браузерным приложением 215. В этом случае персонализированные подсказки 404 называются здесь персонализированными подсказками браузера. В частности, процессор 110 электронного устройства 210 может инициировать выполнение браузерным приложением 215 следующих действий: (а) сохранение, например, на твердотельном накопителе 120 электронного устройства 210 или в «облачном» хранилище информации, указывающей на пользовательские входные данные, предоставленные пользователем 230 в активируемых пользователем элементах макета различных веб-страниц; (б) определение вида активируемого пользователем элемента макета в ответ на пользовательские действия 402; (в) основанное на прошлых пользовательских действиях с подобными активируемыми пользователем элементами макета формирование и предоставление персонализированных подсказок браузера для завершения пользовательских действий 402.[084] According to some non-limiting embodiments of the present technology, personalized suggestions 404 may be generated and provided by browser application 215. In this case, personalized suggestions 404 are referred to herein as personalized browser suggestions. In particular, the processor 110 of the electronic device 210 may cause the browser application 215 to: (a) store, for example, on the solid state drive 120 of the electronic device 210 or in the cloud storage, information indicating the user input provided by the user 230 in the activated user elements of the layout of various web pages; (b) determining the type of user-activated layout element in response to user actions 402; (c) based on past user actions with similar user-activated layout elements, generating and providing personalized browser prompts for completing user actions 402.

[085] На способ определения браузерным приложением 215 вида активируемого пользователем элемента 306 не накладывается каких-либо ограничений. Например, он может включать в себя парсинг исполняемого исходного кода веб-страницы 302 с целью определения (1) частей исполняемого исходного кода веб-страницы 302, соответствующих активируемому пользователем элементу 306 макета; (2) содержания веб-страницы 302; (3) других элементов макета, соседних с активируемым пользователем элементом 306 макета, например, представляющих заголовок «Address» («Адрес»); (4) размеров и/или формы активируемого пользователем элемента 306 макета.[085] There is no limitation on the manner in which the browser application 215 determines the type of user-activated element 306. For example, it may include parsing the executable source code of the web page 302 to determine (1) portions of the executable source code of the web page 302 corresponding to a user-activated layout element 306; (2) the content of web page 302; (3) other layout elements adjacent to the user-activated layout element 306, such as representing the "Address" header; (4) the size and/or shape of the user-activated layout element 306.

[086] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии персонализированные подсказки 404 могут быть сформированы и предоставлены веб-страницей 302. В этом случае персонализированные подсказки 404 называются здесь персонализированными подсказками веб-страницы. Например, сервер 250, на котором размещен веб-ресурс 255, содержащий веб-страницу 302, может (а) определять текущее местоположение пользователя 230, например, с помощью IP-адреса, связанного с электронным устройством 210, или на основе данных из его модуля GPS; (б) определять вид активируемого пользователем элемента 306 макета, как описано выше; (в) в ответ на получение данных, указывающих на пользовательские действия 402, формировать персонализированные подсказки веб-страницы, завершающие пользовательские действия 402, для их вывода в активируемом пользователем элементе 306 макета.[086] In other non-limiting embodiments of the present technology, personalized suggestions 404 may be generated and provided by web page 302. In this case, personalized suggestions 404 are referred to herein as personalized web page suggestions. For example, the server 250 hosting a web resource 255 containing a web page 302 may (a) determine the current location of the user 230, for example, using the IP address associated with the electronic device 210 or based on data from its module GPS; (b) determine the appearance of the user-activated layout element 306, as described above; (c) in response to receiving data indicative of user actions 402, generate personalized web page prompts that complete user actions 402 for display in a user-activated layout element 306.

[087] Предполагается, что браузерное приложение 215 и веб-страница 302 могут независимо предоставлять персонализированные подсказки браузера и персонализированные подсказки веб-страницы, соответственно, что может негативно влиять на восприятие пользователя 230, взаимодействующего с веб-страницей 302. Например, как схематически показано на фиг. 6, без использования преимуществ не имеющих ограничительного характера вариантов осуществления настоящей технологии персонализированные подсказки браузера и персонализированные подсказки веб-страницы могут одновременно выводиться в активируемом пользователем элементе 306 макета и таким образом накладываться в нем друг на друга, что может негативно влиять на их распознаваемость.[087] It is contemplated that the browser application 215 and the web page 302 may independently provide personalized browser prompts and personalized web page prompts, respectively, which may negatively impact the experience of the user 230 interacting with the web page 302. For example, as schematically illustrated in fig. 6, without taking advantage of non-limiting embodiments of the present technology, personalized browser prompts and personalized web page prompts may be simultaneously displayed in the user-activated layout element 306 and thus overlap each other therein, which may negatively impact their recognizability.

[088] Разработчики настоящей технологии разработали способы назначения приоритетов персонализированным подсказкам браузера и персонализированным подсказкам веб-страницы друг относительно друга. В частности, описанные здесь способы и системы предназначены для (а) выполняемого до получения пользовательских действий 402 определения процессором 110 электронного устройства 210 способности веб-страницы 302 предоставлять персонализированные подсказки веб-страницы в активируемом пользователем элементе 306 макета во время ее отображения браузерным приложением 215 и (б) запрещения процессором 110 предоставления браузерным приложением 215 персонализированных подсказок браузера в активируемом пользователем элементе 306 макета, если определено, что веб-страница способна предоставлять персонализированные подсказки веб-страницы в активируемом пользователем элементе 306 макета. Таким образом, описанные здесь способы и системы предназначены для устранения конфликтов между персонализированными подсказками, которые должны выводиться в одном элементе макета.[088] Developers of the present technology have developed methods for prioritizing personalized browser prompts and personalized web page prompts relative to each other. In particular, the methods and systems described herein are designed to (a) determine, prior to receipt of user actions 402, by the processor 110 of the electronic device 210 the ability of the web page 302 to provide personalized web page suggestions in the user-activated layout element 306 while it is being displayed by the browser application 215, and (b) disabling the processor 110 from providing the browser application 215 with personalized browser hints in the user-activated layout element 306 if it is determined that the web page is capable of providing personalized web page hints in the user-activated layout element 306. Thus, the methods and systems described herein are designed to resolve conflicts between personalized cues that are to be displayed on the same layout element.

[089] Определение процессором 110 способности веб-страницы 302 предоставлять персонализированные подсказки веб-страницы согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии описано ниже со ссылкой на фиг. 7 и 8.[089] Determination by processor 110 of the ability of web page 302 to provide personalized web page suggestions according to certain non-limiting embodiments of the present technology is described below with reference to FIG. 7 and 8.

Сеть связиCommunication network

[090] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 240 связи представляет собой сеть Интернет. В альтернативных не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 240 связи может быть реализована в виде любой подходящей локальной сети (LAN, Local Area Network), глобальной сети (WAN, Wide Area Network), частной сети связи и т.п. Очевидно, что варианты осуществления сети связи приведены лишь в иллюстративных целях. Реализация соответствующих линий связи (отдельно не обозначены) между электронным устройством 210 и сервером 250 с одной стороны и сетью 240 связи с другой стороны зависит, среди прочего, от реализации электронного устройства 210 и сервера 250. Лишь в качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, где электронное устройство 210 реализовано в виде устройства беспроводной связи, такого как смартфон, линия связи может быть реализована в виде беспроводной линии связи. Примеры беспроводных линий связи включают в себя канал сети связи 3G, канал сети связи 4G и т.д. В сети 240 связи также может использоваться беспроводное соединение с сервером 250 и с электронным устройством 210.[090] In some non-limiting embodiments of the present technology, communications network 240 is the Internet. In alternative, non-limiting embodiments of the present technology, the communications network 240 may be implemented as any suitable Local Area Network (LAN), Wide Area Network (WAN), private communications network, or the like. Obviously, the communication network embodiments are provided for illustrative purposes only. The implementation of the respective communication lines (not specifically designated) between the electronic device 210 and the server 250 on the one hand and the communication network 240 on the other hand depends, among other things, on the implementation of the electronic device 210 and the server 250. By way of non-limiting example only, in those embodiments of the present technology where the electronic device 210 is implemented as a wireless communication device, such as a smartphone, the communication link may be implemented as a wireless communication link. Examples of wireless communication links include a 3G network channel, a 4G network channel, etc. The communication network 240 may also utilize a wireless connection to the server 250 and to the electronic device 210.

Обнаружение подсказок веб-страницыDetecting web page hints

[091] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, для определения способности веб-страницы 302 предоставлять персонализированные подсказки веб-страницы независимо от браузерного приложения 215 процессор 110 может формировать имитируемое пользовательское действие с активируемым пользователем элементом 306 макета. Затем в ответ на изменение макета активируемого пользователем элемента 306 макета процессор 110 может определять, что веб-страница 302 способна предоставлять персонализированные подсказки веб-страницы.[091] According to some non-limiting embodiments of the present technology, to determine the ability of a web page 302 to provide personalized web page suggestions independent of the browser application 215, the processor 110 may generate a simulated user action with a user-activated layout element 306. Then, in response to changing the layout of the user-activated layout element 306, the processor 110 may determine that the web page 302 is capable of providing personalized web page suggestions.

[092] Например, в контексте настоящего описания изменение макета элемента макета в ответ на взаимодействие с ним, такое как имитируемое пользовательское действие с активируемым пользователем элементом 306 макета, соответствует изменению размеров и/или формы и/или контента активируемого пользователем элемента 306 макета. В другом примере изменение макета может дополнительно включать в себя отображение блоком визуализации браузерного приложения дополнительных интерактивных элементов макета, например, дополнительного поля ввода, связанного с активируемым пользователем элементом 306 макета, дополнительных элементов управления, таких как элемент прокрутки и/или кнопка, позволяющие выбирать различные варианты, и т.п.[092] For example, as used herein, a change in the layout of a layout element in response to interaction with it, such as a simulated user action on the user-activated layout element 306, corresponds to a change in the size and/or shape and/or content of the user-activated layout element 306. In another example, changing the layout may further include the rendering unit of the browser application displaying additional interactive layout elements, such as an additional input field associated with a user-activated layout element 306, additional controls such as a scroll element and/or a button allowing different selections options, etc.

[093] Следует отметить, что в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может определять, что веб-страница 302 способна предоставлять персонализированные подсказки веб-страницы, если в ответ на имитируемое пользовательское действие с активируемым пользователем элементом 306 макета макет изменяется в каком-либо элементе макета, представленном на веб-странице 302.[093] It should be noted that in some non-limiting embodiments of the present technology, processor 110 may determine that web page 302 is capable of providing personalized web page suggestions if the layout changes in response to a simulated user action on user-activated layout element 306 in any layout element presented on the 302 web page.

[094] В контексте настоящего описания имитируемое пользовательское действие соответствует действию, которое имитирует пользовательское действие, но не инициировано пользователем-человеком, таким как пользователь 230, и формируется автоматически, например, путем выполнения процессором 110 соответствующих программных команд. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии имитируемое пользовательское действие может представлять собой имитируемый пользовательский «клик» на активируемом пользователем элементе 306 макета. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии имитируемое пользовательское действие может представлять собой имитируемый ввод символов. В иных не имеющих ограничительного характера вариантах осуществления настоящей технологии имитируемое пользовательское действие может представлять собой имитируемый «клик» и последующий имитируемый ввод символов.[094] As used herein, a simulated user action corresponds to an action that simulates a user action but is not initiated by a human user, such as user 230, and is generated automatically, for example, by processor 110 executing appropriate software instructions. In some non-limiting embodiments of the present technology, the simulated user action may be a simulated user "click" on a user-activated layout element 306. In other non-limiting embodiments of the present technology, the simulated user action may be simulated character input. In other non-limiting embodiments of the present technology, the simulated user action may be a simulated “click” followed by simulated typing.

[095] В конкретном не имеющем ограничительного характера примере имитируемое пользовательское действие с активируемым пользователем элементом 306 макета может включать в себя выполняемую процессором 110 проверку обращения к активируемому пользователем элементу 306 макета.[095] In a specific, non-limiting example, a simulated user action on user-activated layout element 306 may include processor 110 checking for reference to user-activated layout element 306.

[096] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может формировать и применять имитируемое пользовательское действие в отношении активируемого пользователем элемента 306 макета до инициирования отображения веб-страницы 302. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может формировать и применять имитируемое пользовательское действие в отношении активируемого пользователем элемента 306 макета после инициирования отображения веб-страницы 302, например, в течение заранее заданного интервала времени после загрузки и отображения веб-страницы 302 браузерным приложением 215 (например, в течение 0,3-0,5 с). В других не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может формировать и применять имитируемое пользовательское действие в отношении активируемого пользователем элемента 306 макета после инициирования отображения веб-страницы 302 в определенные моменты времени, например, регулярно с заранее заданным периодом, таким как 5 или 10 секунд.[096] In some non-limiting embodiments of the present technology, processor 110 may generate and apply a simulated user action to user-activated layout element 306 prior to initiating display of web page 302. In other non-limiting embodiments of the present technology, processor 110 may generate and apply a simulated user action to a user-activated layout element 306 after the display of the web page 302 is initiated, for example, within a predetermined time interval after the web page 302 is loaded and displayed by the browser application 215 (for example, within 0.3-0 ,5 s). In other non-limiting embodiments of the present technology, processor 110 may generate and apply a simulated user action to user-activated layout element 306 after triggering the display of web page 302 at certain times, for example, regularly at a predetermined period, such as 5 or 10 Seconds.

[097] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может инициировать имитируемое пользовательское действие с активируемым пользователем элементом 306 макета в ответ на заранее заданное действие пользователя 230. В одном примере такое заранее заданное действие пользователя может включать в себя обновление веб-страницы 302. В другом примере заранее заданное действие пользователя может включать в себя прокрутку заранее заданной части веб-страницы 302, например, составляющей 60%. Другие действия пользователя в отношении веб-страницы 302, запускающие инициирование процессором 110 имитируемых пользовательских действий с активируемым пользователем элементом 306 макета, также возможны без выхода за границы настоящей технологии.[097] In other non-limiting embodiments of the present technology, processor 110 may initiate a simulated user action on a user-activated layout element 306 in response to a predetermined user action 230. In one example, such a predetermined user action may include updating a web page 302. In another example, the predetermined user action may include scrolling a predetermined portion of the web page 302, such as 60%. Other user actions with respect to the web page 302 that trigger the processor 110 to initiate simulated user actions on the user-activated layout element 306 are also possible without going beyond the scope of the present technology.

[098] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, для определения способности веб-страницы 302 предоставлять персонализированные подсказки веб-страницы в активируемом пользователем элементе макета процессор 110 может инициировать имитируемое пользовательское действие с конкретными точками визуального представления активируемого пользователем элемента 306 макета. В частности, процессор 110 может «сканировать» визуальное представление активируемого пользователем элемента 306 макета в его конкретных точках, чтобы определять наличие изменения макета активируемого пользователем элемента 306 макета, указывающего на способность веб-страницы 302 предоставлять персонализированные подсказки веб-страницы.[098] According to some non-limiting embodiments of the present technology, to determine the ability of web page 302 to provide personalized web page cues in a user-activated layout element, processor 110 may initiate a simulated user action at specific points in the visual presentation of user-activated layout element 306. In particular, the processor 110 may “scan” the visual representation of the user-activated layout element 306 at specific points thereof to determine if there is a change in the layout of the user-activated layout element 306 indicative of the ability of the web page 302 to provide personalized web page suggestions.

[099] Следует отметить, что некоторые не имеющие ограничительного характера варианты осуществления настоящей технологии основаны на предположении, что блок визуализации браузерного приложения 215 может распознавать, что ответ на имитируемое пользовательское действие сформирован веб-страницей 302, а не браузерным приложением 215. В частности, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, блок визуализации может быть реализован так, чтобы он не являлся частью интерфейса GUI браузерного приложения 215 и таким образом не получал изменений, инициированных браузерным приложением 215. Таким образом, любые изменения макета, доступные блоку визуализации, оказываются обусловленными веб-страницей 302, а не браузерным приложением 215.[099] It should be noted that some non-limiting embodiments of the present technology are based on the assumption that the renderer of the browser application 215 can recognize that the response to a simulated user action is generated by the web page 302 and not by the browser application 215. In particular, According to non-limiting embodiments of the present technology, the renderer may be implemented so that it is not part of the GUI interface of the browser application 215 and thus does not receive changes initiated by the browser application 215. Thus, any layout changes available to the renderer are appear to be caused by the web page 302 rather than the browser application 215.

[0100] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, блок визуализации может определять, что изменение макета (такое как соответствующее изменение макета, схематически представленное на фиг. 7), инициированное путем применения имитируемого пользовательского действия в отношении активируемого пользователем элемента 306 макета, инициировано веб-страницей 302, а не браузерным приложением 215. Таким образом, процессор 110 может определять, что изменение 704 макета указывает на персонализированные подсказки веб-страницы, а не на персонализированные подсказки браузера.[0100] According to some non-limiting embodiments of the present technology, a renderer may determine that a layout change (such as the corresponding layout change schematically represented in FIG. 7) is initiated by applying a simulated user action to a user-activated layout element 306 , is initiated by the web page 302 rather than the browser application 215. Thus, the processor 110 may determine that the layout change 704 is indicative of the web page's personalized cues rather than the browser's personalized cues.

[0101] Например, процессор 110 может инициировать имитируемое пользовательское действие с активируемым пользователем элементом 306 макета согласно связанной с ним заранее заданной схеме. На фиг. 7 приведено схематическое изображение схемы 702 сканирования, применяемой в отношении визуального представления активируемого пользователем элемента 306 макета для инициирования имитируемого пользовательского действия с ним, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[0101] For example, processor 110 may initiate a simulated user action on user-activated layout element 306 according to a predetermined pattern associated therewith. In fig. 7 is a schematic illustration of a scanning circuit 702 applied to the visual presentation of a user-activated layout element 306 to initiate a simulated user action thereon, according to some non-limiting embodiments of the present technology.

[0102] Предполагается, что схема 702 сканирования содержит множество точек, каждая из которых может включать в себя набор значений координат, таких как декартовы координаты, в системе координат, связанной с веб-страницей 302. Таким образом, процессор 110 может: (а) с использованием значений координат определять каждую точку из множества точек на веб-странице 302 и (б) инициировать имитируемое пользовательское действие с ней, чтобы определить, происходит ли в ответ какое-либо изменение макета, такое как изменение 704 макета.[0102] It is assumed that the scanning circuit 702 contains a plurality of points, each of which may include a set of coordinate values, such as Cartesian coordinates, in a coordinate system associated with the web page 302. Thus, the processor 110 may: (a) using the coordinate values, determine each point of the plurality of points on the web page 302 and (b) initiate a simulated user action thereon to determine whether any layout change occurs in response, such as a layout change 704.

[0103] В представленных вариантах осуществления изобретения изменение 704 макета представляет собой дополнительный элемент макета, задающий область для раскрывающегося меню. Тем не менее, должно быть понятно, что также возможны и другие изменения макета, связанные с активируемым пользователем элементом 306, такие как вывод в нем текста. Также следует отметить, что конкретный вариант реализации изменения 704 макета в общем случае зависит от реализации активируемого пользователем элемента 306 макета. Например, в тех вариантах реализации настоящей технологии, где активируемый пользователем элемент 306 макета представляет собой радиокнопку или флажок и, следовательно, имитируемое пользовательское действие с ним представляет собой «клик» на нем, изменение 704 макета может включать в себя автоматическое изменение других радиокнопок или флажков (не показаны) на веб-странице 302, отображение ввода дополнительных полей ввода и т.п.[0103] In the illustrated embodiments, layout change 704 is an additional layout element that defines an area for the drop-down menu. However, it should be understood that other layout changes associated with the user-activated element 306, such as displaying text therein, are also possible. It should also be noted that the specific implementation of the layout change 704 generally depends on the implementation of the user-activated layout element 306. For example, in those embodiments of the present technology where the user-activated layout element 306 is a radio button or checkbox and therefore the simulated user action with it is a “click” on it, changing the layout 704 may include automatically changing other radio buttons or checkboxes (not shown) on web page 302, displaying input of additional input fields, etc.

[0104] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии схема 702 сканирования может быть заранее связана с активируемым пользователем элементом 306 макета в памяти электронного устройства 210, например, на твердотельном накопителе 120, и процессор 110 перед инициированием имитируемого пользовательского действия может: (а) выполнять парсинг исполняемого исходного кода веб-страницы 302; (б) определять в исполняемом исходном коде активируемый пользователем элемент 306 макета; (в) получать схему 702 сканирования для ее применения в отношении визуального представления активируемого пользователем элемента 306 макета.[0104] In some non-limiting embodiments of the present technology, scan circuit 702 may be pre-associated with a user-activated layout element 306 in the memory of electronic device 210, such as solid state drive 120, and processor 110 may, before initiating a simulated user action: ( a) parse the executable source code of the 302 web page; (b) define in the executable source code a user-activated layout element 306; (c) obtain a scanning pattern 702 for application to the visual representation of a user-activated layout element 306.

[0105] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может определять схему 702 сканирования. В частности, определив активируемый пользователем элемент 306 макета, процессор 110 может определять его параметры, такие как его размеры и геометрическая форма, и на основе этих параметров определять вид схемы 702 сканирования и количество точек, которые должны быть просканированы в ней. Например, процессор 110 может определять схему 702 сканирования в виде множества точек, задающих отрезок прямой линии, расположенный вдоль одной из сторон активируемого пользователем элемента 306 макета, как показано на фиг. 7. В другом примере (не показан) процессор 110 может определять схему 702 сканирования в виде множества точек, расположенных по контуру активируемого пользователем элемента 306 макета. В еще одном примере (также не показан) процессор 110 может определять схему 702 сканирования в виде множества точек, распределенных, например, равномерно, в области визуального представления активируемого пользователем элемента 306 макета. При этом на распределение множества точек в области визуального представления активируемого пользователем элемента 306 макета не накладывается каких-либо ограничений. Например, оно может соответствовать нормальному распределению вероятностей наведения указателя на активируемый пользователем элемент 306 макета.[0105] In other non-limiting embodiments of the present technology, processor 110 may determine scan pattern 702. In particular, by defining a user-activated design element 306, the processor 110 can determine its parameters, such as its dimensions and geometric shape, and based on these parameters determine the type of scanning pattern 702 and the number of points to be scanned therein. For example, processor 110 may define scan pattern 702 as a plurality of points defining a straight line segment along one side of user-activated layout element 306, as shown in FIG. 7. In another example (not shown), processor 110 may define scan pattern 702 as a plurality of points located along the contour of user-activated layout element 306. In yet another example (also not shown), processor 110 may define scan pattern 702 as a plurality of dots distributed, for example, uniformly, in the visual presentation area of user-activated layout element 306. However, no restrictions are imposed on the distribution of the plurality of points in the visual representation area of the user-activated layout element 306. For example, it may correspond to a normal probability distribution of a user-activated layout element 306 being hovered over.

[0106] Кроме того, предполагается, что значение плотности множества точек, задающих схему 702 сканирования, указывает на частоту сканирования активируемого пользователем элемента 306 процессором 110. Значение плотности множества точек может быть заранее задано на основе компромисса между точностью сканирования активируемого пользователем элемента 306 и требуемыми вычислительными ресурсами процессора 110.[0106] In addition, it is assumed that the density value of the set of points defining the scan pattern 702 is indicative of the frequency of scanning of the user-activated element 306 by the processor 110. The value of the density of the set of points can be predetermined based on a trade-off between the scanning accuracy of the user-activated element 306 and the desired computing resources of the processor 110.

[0107] Должно быть понятно, что схема 702 сканирования показана на фиг. 7 как наложенная на визуальное представление активируемого пользователем элемента 306 исключительно в иллюстративных целях. Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, схема 702 сканирования может быть скрыта при фактическом отображении веб-страницы 302.[0107] It will be appreciated that scanning circuit 702 is shown in FIG. 7 as superimposed on a visual representation of user-activated element 306 for illustrative purposes only. According to some non-limiting embodiments of the present technology, the scanning circuit 702 may be hidden when the web page 302 is actually displayed.

[0108] Как описано выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может регулярно сканировать активируемый пользователем элемент 306 макета с заранее заданным периодом. В частности, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может сканировать каждую точку из множества точек, задающих схему 702 сканирования, с одним и тем же периодом, т.е. с заранее заданным периодом. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может сканировать каждую точку из множества точек по-разному. Например, процессор 110 может увеличивать период сканирования для тех точек, которые не инициируют изменения 704 макета в ответ на имитируемое пользовательское действие с ним. В конкретном не имеющем ограничительного характера примере процессор 110 может увеличивать период сканирования по экспоненциальному закону. При этом следует отметить, что другие функции, такие как степенная функция или логарифмическая функция, а также их различные параметры, также могут использоваться для определения увеличенного периода сканирования точек. Это позволяет экономить вычислительные ресурсы процессора 110 при сканировании тех точек схемы 702 сканирования, которые не реагируют на имитируемое пользовательское действие с ними. Также следует отметить, что процессор 110 может восстанавливать исходное значение периода сканирования каждой точки из множества точек в ответ на заранее заданное действие пользователя, например, такое как обновление веб-страницы 302.[0108] As described above, in some non-limiting embodiments of the present technology, processor 110 may regularly scan user-activated layout element 306 at a predetermined period. In particular, in some non-limiting embodiments of the present technology, processor 110 may scan each point of the plurality of points defining scanning pattern 702 with the same period, i.e. with a predetermined period. In other non-limiting embodiments of the present technology, processor 110 may scan each point of the plurality of points differently. For example, processor 110 may increase the scan period for those points that do not initiate layout changes 704 in response to a simulated user action thereon. In a specific non-limiting example, processor 110 may increase the scan period exponentially. It should be noted that other functions, such as the power function or the logarithmic function, and their various parameters, can also be used to determine the extended point scanning period. This allows processor 110 to save computational resources when scanning those points of the scan pattern 702 that do not respond to a simulated user action on them. It should also be noted that processor 110 may reset the scan period of each point of the plurality of points to its original value in response to a predetermined user action, such as, for example, refreshing web page 302.

[0109] Таким образом, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, процессор 110 может инициировать имитируемое пользовательское действие с каждой точкой из множества точек схемы 702 сканирования, чтобы определять наличие ответного изменения 704 макета. Кроме того, путем определения того, что имитируемое пользовательское действие с какой-либо точкой из множества точек инициирует изменение 704 макета, процессор 110 может определять, что веб-страница 302 способна предоставлять персонализированные подсказки веб-страницы. В связи с этим, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, процессор 110 может запрещать предоставление браузерным приложением 215 персонализированных подсказок браузера в активируемом пользователем элементе 306 макета. Таким образом процессор 110 способен предотвращать наложение персонализированных подсказок браузера и персонализированных подсказок веб-страницы, в результате чего предполагается улучшение восприятия пользователем взаимодействия с браузерным приложением 215 и веб-страницей 302.[0109] Thus, according to some non-limiting embodiments of the present technology, processor 110 may initiate a simulated user action with each point of a plurality of points of the scan pattern 702 to determine the presence of a responsive layout change 704. Additionally, by determining that a simulated user action on any one of the plurality of points triggers a layout change 704, the processor 110 may determine that the web page 302 is capable of providing personalized web page suggestions. Accordingly, according to non-limiting embodiments of the present technology, processor 110 may prevent browser application 215 from providing personalized browser hints in user-activated layout element 306. In this way, the processor 110 is able to prevent the browser's personalized suggestions from interfering with the web page's personalized suggestions, which is expected to improve the user's experience of interacting with the browser application 215 and the web page 302.

[0110] Должно быть понятно, что обеспечение преимущества персонализированных подсказок веб-страницы перед персонализированными подсказками браузера описано выше лишь для объяснения вариантов осуществления настоящей технологии, не имеющих ограничительного характера. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии, если определено, что имитируемое пользовательское действие с какой-либо точкой из множества точек, задающих схему 702 сканирования, инициирует изменения 704 макета, то процессор 110 может запрещать серверу 250 предоставлять персонализированные подсказки веб-страницы для вывода их в активируемом пользователем элементе 306 макета.[0110] It should be understood that providing an advantage of personalized web page suggestions over personalized browser suggestions is described above only to explain non-limiting embodiments of the present technology. In other non-limiting embodiments of the present technology, if a simulated user action on any point of the plurality of points defining the scanning pattern 702 is determined to trigger layout changes 704, then the processor 110 may prevent the server 250 from providing personalized web page suggestions. to display them in a user-activated layout element 306.

СпособWay

[0111] Описанные выше архитектура и примеры позволяют выполнять способ управления отображением веб-страницы, такой как веб-страница 302, как описано выше. На фиг. 8 представлена блок-схема способа 800 согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии. Способ 800 может выполняться процессором 110 электронного устройства 210. Как описано выше, электронное устройство 210 может выполнять браузерное приложение 215, с использованием которого процессор 110 может выполнять способ 800.[0111] The architecture and examples described above enable a method for controlling the display of a web page, such as web page 302, as described above. In fig. 8 is a flow diagram of a method 800 according to non-limiting embodiments of the present technology. The method 800 may be executed by a processor 110 of the electronic device 210. As described above, the electronic device 210 may execute a browser application 215 through which the processor 110 may execute the method 800.

Шаг 802: получение процессором данных, представляющих веб-страницу, подлежащую отображению в браузерном приложении.Step 802: The processor receives data representing a web page to be displayed in the browser application.

[0112] Способ 800 начинается с шага 802, на котором процессор 110 способен получать данные, представляющие веб-страницу 302, для ее отображения в браузерном приложении 215. Как описано выше со ссылкой на фиг. 2 и 3, такие данные могут содержать цифровой документ, содержащий исполняемый исходный код веб-страницы 302, например, разработанный на языке HTML. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии по меньшей мере часть исполняемого исходного кода может быть разработана на другом языке программирования, например, на языке программирования JavaScript и/или CSS.[0112] Method 800 begins at step 802, where processor 110 is capable of receiving data representing web page 302 for display in browser application 215. As described above with reference to FIG. 2 and 3, such data may comprise a digital document containing executable source code for the web page 302, for example developed in HTML. In other non-limiting embodiments of the present technology, at least a portion of the executable source code may be developed in another programming language, such as the JavaScript and/or CSS programming language.

[0113] Таким образом, путем выполнения исполняемого исходного кода веб-страницы 302 процессор 110 может отображать, например, с использованием блока визуализации браузерного приложения 215, визуальное представление веб-страницы 302 в браузерном приложении 215, например, как схематически показано на фиг. 3.[0113] Thus, by executing the executable source code of web page 302, processor 110 can display, for example, using a browser application renderer 215, a visual representation of web page 302 in browser application 215, for example, as schematically shown in FIG. 3.

[0114] Далее способ 800 продолжается на шаге 804.[0114] Method 800 then continues at step 804.

Шаг 804: определение на веб-странице на основе полученных данных по меньшей мере одного активируемого пользователем элемента макета, демонстрируемого во время отображения веб-страницы.Step 804: Determine on the web page, based on the received data, at least one user-activated layout element to be displayed when the web page is displayed.

[0115] На шаге 804 процессор 110 может определять, например, путем парсинга исполняемого исходного кода веб-страницы 302, присутствующий на ней активируемый пользователем элемент макета, такой как описанный выше активируемый пользователем элемент 306 макета.[0115] At step 804, the processor 110 may determine, for example, by parsing the executable source code of the web page 302, a user-activated layout element, such as the user-activated layout element 306 described above, is present therein.

[0116] Далее способ 800 продолжается на шаге 806.[0116] Method 800 then continues at step 806.

Шаг 806: инициирование процессором имитируемого пользовательского действия с по меньшей мере одним активируемым пользователем элементом макета.Step 806: The processor initiates a simulated user action with at least one user-activated layout element.

[0117] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии на шаге 806 процессор 110 может инициировать имитируемое пользовательское действие с активируемым пользователем элементом 306 макета, чтобы определить наличие какого-либо ответного изменения макета, такого как изменение 704 макета, описанное выше со ссылкой на фиг. 7.[0117] In some non-limiting embodiments of the present technology, at step 806, the processor 110 may initiate a simulated user action on the user-activated layout element 306 to determine the presence of any responsive layout change, such as the layout change 704 described above with reference to in fig. 7.

[0118] Как описано выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии имитируемое пользовательское действие может представлять собой имитируемый пользовательский «клик» на активируемом пользователем элементе 306 макета. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии имитируемое пользовательское действие может представлять собой имитируемый ввод символов. В иных не имеющих ограничительного характера вариантах осуществления настоящей технологии имитируемое пользовательское действие может представлять собой имитируемый «клик» и последующий имитируемый ввод символов.[0118] As described above, in some non-limiting embodiments of the present technology, the simulated user action may be a simulated user "click" on a user-activated layout element 306. In other non-limiting embodiments of the present technology, the simulated user action may be simulated character input. In other non-limiting embodiments of the present technology, the simulated user action may be a simulated “click” followed by simulated typing.

[0119] В конкретном не имеющем ограничительного характера примере имитируемое пользовательское действие с активируемым пользователем элементом 306 макета может включать в себя выполняемую процессором 110 проверку обращения к активируемому пользователем элементу 306 макета.[0119] In a specific, non-limiting example, a simulated user action on user-activated layout element 306 may include processor 110 checking for reference to user-activated layout element 306.

[0120] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может формировать и применять имитируемое пользовательское действие в отношении активируемого пользователем элемента 306 макета до инициирования отображения веб-страницы 302. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может формировать и применять имитируемое пользовательское действие в отношении активируемого пользователем элемента 306 макета после инициирования отображения веб-страницы 302, например, в течение заранее заданного интервала времени после загрузки и отображения веб-страницы 302 браузерным приложением 215 (например, в течение 0,3-0,5 с). В других не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может формировать и применять имитируемое пользовательское действие в отношении активируемого пользователем элемента 306 макета после инициирования отображения веб-страницы 302 в определенные моменты времени, например, регулярно с заранее заданным периодом, таким как 5 или 10 секунд.[0120] In some non-limiting embodiments of the present technology, processor 110 may generate and apply a simulated user action to user-activated layout element 306 prior to initiating display of web page 302. In other non-limiting embodiments of the present technology, processor 110 may generate and apply a simulated user action to a user-activated layout element 306 after the display of the web page 302 is initiated, for example, within a predetermined time interval after the web page 302 is loaded and displayed by the browser application 215 (for example, within 0.3-0 ,5 s). In other non-limiting embodiments of the present technology, processor 110 may generate and apply a simulated user action to user-activated layout element 306 after triggering the display of web page 302 at certain times, for example, regularly at a predetermined period, such as 5 or 10 Seconds.

[0121] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может инициировать имитируемое пользовательское действие с активируемым пользователем элементом 306 макета в ответ на заранее заданное действие пользователя 230. В одном примере такое заранее заданное действие пользователя может включать в себя обновление веб-страницы 302. В другом примере заранее заданное действие пользователя может включать в себя прокрутку заранее заданной части веб-страницы 302, например, составляющей 60%. Другие действия пользователя в отношении веб-страницы 302, запускающие инициирование процессором 110 имитируемых пользовательских действий с активируемым пользователем элементом 306 макета, также возможны без выхода за границы настоящей технологии.[0121] In other non-limiting embodiments of the present technology, processor 110 may initiate a simulated user action on user-activated layout element 306 in response to a predetermined user action 230. In one example, such a predetermined user action may include updating a web page 302. In another example, the predetermined user action may include scrolling a predetermined portion of the web page 302, such as 60%. Other user actions with respect to the web page 302 that trigger the processor 110 to initiate simulated user actions on the user-activated layout element 306 are also possible without going beyond the scope of the present technology.

[0122] Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии перед инициированием имитируемого пользовательского действия с активируемым пользователем элементом 306 макета процессор 110 может получать или определять иным образом соответствующую схему, связанную с активируемым пользователем элементом 306 макета, такую как схема 702 сканирования, представленная на фиг. 7. Затем процессор 110 может применять схему 702 сканирования в отношении визуального представления активируемого пользователем элемента 306 макета для инициирования имитируемого пользовательского действия согласно схеме 702 сканирования.[0122] Additionally, in some non-limiting embodiments of the present technology, prior to initiating a simulated user action on user-activated layout element 306, processor 110 may obtain or otherwise determine appropriate schema associated with user-activated layout element 306, such as circuit 702 scan shown in Fig. 7. The processor 110 may then apply the scanning circuit 702 to the visual representation of the user-activated layout element 306 to initiate a simulated user action according to the scanning circuit 702.

[0123] Схема 702 сканирования содержит множество точек, каждая из которых может включать в себя соответствующий набор значений координат, таких как декартовы координаты, в системе координат, связанной с веб-страницей 302. Таким образом, процессор 110 может: (а) с использованием значений координат определять каждую точку из множества точек на веб-странице 302 и (б) инициировать имитируемое пользовательское действие с ними, чтобы определить, происходит ли в ответ какое-либо изменение макета.[0123] Scan pattern 702 includes a plurality of points, each of which may include a corresponding set of coordinate values, such as Cartesian coordinates, in a coordinate system associated with web page 302. Thus, processor 110 can: (a) using coordinate values, determine each point of the plurality of points on the web page 302 and (b) initiate a simulated user action on them to determine whether any layout change occurs in response.

[0124] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может регулярно сканировать активируемый пользователем элемент 306 макета с заранее заданным периодом. В частности, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может сканировать каждую точку из множества точек, задающих схему 702 сканирования, с одним и тем же периодом, т.е. с заранее заданным периодом. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 может сканировать каждую точку из множества точек по-разному. Например, процессор 110 может увеличивать период сканирования для тех точек, которые не инициируют изменения 704 макета в ответ на имитируемое пользовательское действие с ним. В конкретном не имеющем ограничительного характера примере процессор 110 может увеличивать период сканирования по экспоненциальному закону. Тем не менее, следует отметить, что другие функции, такие как степенная функция или логарифмическая функция, а также их различные параметры, также могут использоваться для определения увеличенного периода сканирования точек. Это позволяет экономить вычислительные ресурсы процессора 110 при сканировании тех точек схемы 702 сканирования, которые не реагируют на имитируемое пользовательское действие с ними. Также следует отметить, что процессор 110 может восстанавливать исходное значение периода сканирования каждой точки из множества точек в ответ на заранее заданное действие пользователя, например, на обновление веб-страницы 302.[0124] In some non-limiting embodiments of the present technology, processor 110 may regularly scan user-activated layout element 306 at a predetermined period. In particular, in some non-limiting embodiments of the present technology, processor 110 may scan each point of the plurality of points defining scanning pattern 702 with the same period, i.e. with a predetermined period. In other non-limiting embodiments of the present technology, processor 110 may scan each point of the plurality of points differently. For example, processor 110 may increase the scan period for those points that do not initiate layout changes 704 in response to a simulated user action thereon. In a specific non-limiting example, processor 110 may increase the scan period exponentially. However, it should be noted that other functions, such as the power function or logarithmic function, and their various parameters, can also be used to determine the extended point scanning period. This allows processor 110 to save computational resources when scanning those points of the scan pattern 702 that do not respond to a simulated user action on them. It should also be noted that the processor 110 may reset the scan period of each point of the plurality of points to its original value in response to a predetermined user action, such as refreshing the web page 302.

[0125] Далее способ 800 переходит к шагу 808.[0125] Method 800 then proceeds to step 808.

Шаг 808: определение процессором того, инициирует ли имитируемое пользовательское действие изменение макета, указывающее на способность веб-страницы предоставлять в по меньшей мере одном активируемом пользователем элементе макета персонализированные подсказки веб-страницы.Step 808: The processor determines whether the simulated user action triggers a layout change indicative of the web page's ability to provide personalized web page cues in at least one user-activated layout element.

[0126] На шаге 808 процессор 110 может определять, инициирует ли имитируемое пользовательское действие с какой-либо точкой из множества точек, задающих схему 702 сканирования, которое было применено в отношении активируемого пользователем элемента 306 макета, изменение 704 макета.[0126] At step 808, the processor 110 may determine whether the simulated user action on any point of the plurality of points defining the scanning pattern 702 that was applied to the user-activated layout element 306 triggers a layout change 704.

[0127] Как описано выше со ссылкой на фиг. 7, изменение 704 макета может, например, представлять собой дополнительный элемент макета, задающий область для раскрывающегося меню. Тем не менее, должно быть понятно, что также возможны и другие изменения макета, связанные с активируемым пользователем элементом 306, такие как вывод в нем текста. Также следует отметить, что конкретный вариант реализации изменения 704 макета в общем случае зависит от реализации активируемого пользователем элемента 306 макета. Например, в тех вариантах реализации настоящей технологии, где активируемый пользователем элемент 306 макета представляет собой радиокнопку или флажок, и, следовательно, имитируемое пользовательское действие с ним представляет собой «клик» на нем, изменение 704 макета может включать в себя автоматическое изменение других радиокнопок или флажков (не показаны) на веб-странице 302, отображение ввода дополнительных полей ввода и т.п.[0127] As described above with reference to FIG. 7, the layout change 704 may, for example, be an additional layout element defining an area for the drop-down menu. However, it should be understood that other layout changes associated with the user-activated element 306, such as displaying text therein, are also possible. It should also be noted that the specific implementation of the layout change 704 generally depends on the implementation of the user-activated layout element 306. For example, in those embodiments of the present technology where the user-activated layout element 306 is a radio button or checkbox, and therefore the simulated user action with it is a “click” on it, changing the layout 704 may include automatically changing other radio buttons or checkboxes (not shown) on the 302 web page, displaying the entry of additional input fields, etc.

[0128] Далее способ 800 продолжается на шаге 810.[0128] Method 800 then continues at step 810.

Шаг 810: запрещение процессором предоставления браузерным приложением персонализированных подсказок браузера в по меньшей мере одном активируемом пользователем элементе макета на веб-странице во время ее отображения, если изменение макета указывает на способность веб-страницы предоставлять персонализированные подсказки веб-страницы в этом по меньшей мере одном активируемом пользователем элементе макета.Step 810: Disable the processor from providing the browser application with personalized browser hints in at least one user-activated layout element on the web page while it is being displayed if the layout change indicates the ability of the web page to provide personalized web page hints in that at least one user-activated layout element.

[0129] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, на шаге 810 процессор 110 путем определения того, что имитируемое пользовательское действие с какой-либо точкой из множества точек инициирует изменение 704 макета, может определять, что веб-страница 302 способна предоставлять персонализированные подсказки веб-страницы. В связи с этим, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, процессор 110 может запрещать предоставление браузерным приложением 215 персонализированных подсказок браузера в активируемом пользователем элементе 306 макета. Таким образом процессор 110 способен предотвращать наложение персонализированных подсказок браузера и персонализированных подсказок веб-страницы, в результате чего предполагается улучшение восприятия пользователем взаимодействия с браузерным приложением 215 и с веб-страницей 302.[0129] According to some non-limiting embodiments of the present technology, at step 810, the processor 110, by determining that a simulated user action on any one of the plurality of points triggers a layout change 704, may determine that the web page 302 is capable of providing personalized web page suggestions. Accordingly, according to non-limiting embodiments of the present technology, processor 110 may prevent browser application 215 from providing personalized browser hints in user-activated layout element 306. In this way, the processor 110 is able to prevent the browser's personalized suggestions from interfering with the web page's personalized suggestions, which is expected to improve the user's experience of interacting with the browser application 215 and the web page 302.

[0130] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии, если определено, что имитируемое пользовательское действие с какой-либо точкой из множества точек, задающих схему 702 сканирования, инициирует изменения 704 макета, то процессор 110 может запрещать серверу 250 предоставлять персонализированные подсказки веб-страницы для вывода их в активируемом пользователем элементе 306 макета.[0130] In other non-limiting embodiments of the present technology, if a simulated user action on any point of the plurality of points defining the scanning pattern 702 is determined to trigger layout changes 704, then the processor 110 may prevent the server 250 from providing personalized hints web pages to display them in a user-activated layout element 306.

[0131] На этом выполнение способа 800 завершается.[0131] This completes the method 800.

[0132] Таким образом, некоторые не имеющие ограничительного характера варианты осуществления способа 800 предназначены для назначения приоритетов персонализированным подсказкам браузера и персонализированным подсказкам веб-страницы друг относительно друга, в результате чего предполагается улучшение восприятия пользователем взаимодействия с веб-страницами.[0132] Thus, some non-limiting embodiments of method 800 are designed to prioritize personalized browser prompts and personalized web page prompts relative to each other, thereby purporting to improve the user's experience of interacting with web pages.

[0133] Для специалиста в данной области могут быть очевидными возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено лишь в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.[0133] Possible changes and improvements to the above-described embodiments of the present technology may be apparent to one skilled in the art. The foregoing description is provided for illustrative purposes only and is not intended to limit the scope of the invention. The scope of protection of this technology is determined solely by the scope of the attached claims.

[0134] Несмотря на то, что описанные выше варианты реализации приведены со ссылкой на конкретные шаги, выполняемые в определенном порядке, должно быть понятно, что эти шаги могут быть объединены, разделены или что их порядок может быть изменен без выхода за границы настоящей технологии. Соответственно, порядок и группировка шагов не носят ограничительного характера для настоящей технологии.[0134] Although the embodiments described above are given with reference to specific steps performed in a particular order, it should be understood that these steps can be combined, separated, or their order can be changed without departing from the scope of the present technology. Accordingly, the order and grouping of steps are not restrictive for this technology.

Claims (42)

1. Способ управления отображением веб-страницы в браузерном приложении, выполняемый процессором электронного устройства, выполняющего браузерное приложение, способное предоставлять персонализированные подсказки браузера в по меньшей мере одном активируемом пользователем элементе макета веб-страницы, и включающий в себя:1. A method for controlling the display of a web page in a browser application, performed by a processor of an electronic device executing a browser application capable of providing personalized browser hints in at least one user-activated web page layout element, comprising: получение процессором данных, представляющих веб-страницу, подлежащую отображению в браузерном приложении;receipt by the processor of data representing a web page to be displayed in a browser application; определение на веб-странице на основе полученных данных по меньшей мере одного активируемого пользователем элемента макета, демонстрируемого во время отображения веб-страницы;determining on the web page, based on the received data, at least one user-activated layout element displayed when the web page is displayed; инициирование процессором имитируемого пользовательского действия с по меньшей мере одним активируемым пользователем элементом макета;causing the processor to initiate a simulated user action with at least one user-activated layout element; определение процессором того, инициирует ли имитируемое пользовательское действие изменение макета, указывающее на способность веб-страницы предоставлять в по меньшей мере одном активируемом пользователем элементе макета персонализированные подсказки веб-страницы, сформированные веб-страницей независимо от браузерного приложения;determining by the processor whether the simulated user action triggers a layout change indicative of the web page's ability to provide, in at least one user-activated layout element, personalized web page cues generated by the web page independent of the browser application; запрещение процессором предоставления браузерным приложением персонализированных подсказок браузера в по меньшей мере одном активируемом пользователем элементе макета на веб-странице во время ее отображения, если изменение макета указывает на способность веб-страницы предоставлять персонализированные подсказки веб-страницы в этом по меньшей мере одном активируемом пользователем элементе макета.preventing a browser application from providing personalized browser hints in at least one user-activated layout element in a web page while it is being displayed, if the layout change indicates the web page's ability to provide personalized web page cues in that at least one user-activated element layout. 2. Способ по п. 1, отличающийся тем, что данные, представляющие веб-страницу, содержат исходный код на языке JavaScript и/или на языке CSS.2. The method according to claim 1, characterized in that the data representing the web page contains source code in JavaScript and/or CSS. 3. Способ по п. 1, отличающийся тем, что перед инициированием имитируемого пользовательского действия способ дополнительно включает в себя:3. The method according to claim 1, characterized in that before initiating the simulated user action, the method additionally includes: получение процессором схемы сканирования для по меньшей мере одного активируемого пользователем элемента макета, содержащей множество точек, представляющих внешний вид по меньшей мере одного активируемого пользователем элемента макета веб-страницы;receiving by the processor a scanning pattern for the at least one user-activated layout element comprising a plurality of points representing the appearance of the at least one user-activated layout element of the web page; применение процессором схемы сканирования в области по меньшей мере одного активируемого пользователем элемента макета, при этом инициирование имитируемого пользовательского действия с по меньшей мере одним активируемым пользователем элементом макета включает в себя инициирование имитируемого пользовательского действия с каждой точкой из множества точек.the processor applying a scanning pattern in the area of the at least one user-activated layout element, wherein initiating a simulated user action with the at least one user-activated layout element includes initiating a simulated user action with each point of the plurality of points. 4. Способ по п. 3, отличающийся тем, что инициирование имитируемого пользовательского действия с точкой из множества точек выполняется с заранее заданным интервалом времени.4. The method according to claim 3, characterized in that the initiation of a simulated user action with a point from a plurality of points is performed at a predetermined time interval. 5. Способ по п. 4, отличающийся тем, что он дополнительно включает в себя увеличение процессором заранее заданного интервала времени, если имитируемое пользовательское действие с точкой из множества точек не инициирует предоставления веб-страницей персонализированных подсказок веб-страницы в по меньшей мере одном активируемом пользователем элементе макета.5. The method of claim 4, further comprising increasing the processor to a predetermined time interval if the simulated user action with a dot of the plurality of dots does not trigger the web page to provide personalized web page suggestions in at least one activated by the user of the layout element. 6. Способ по п. 5, отличающийся тем, что увеличение заранее заданного интервала времени на каждой итерации инициирования имитируемого пользовательского действия с точкой из множества точек выполняется по экспоненциальному закону.6. The method according to claim 5, characterized in that the increase in a predetermined time interval at each iteration of initiating a simulated user action with a point from a set of points is performed according to an exponential law. 7. Способ по п. 1, отличающийся тем, что имитируемое пользовательское действие включает в себя проверку обращения к по меньшей мере одному активируемому пользователем элементу макета.7. The method according to claim 1, characterized in that the simulated user action includes checking access to at least one user-activated layout element. 8. Способ по п. 1, отличающийся тем, что инициирование имитируемого пользовательского действия выполняется до отображения веб-страницы.8. The method according to claim 1, characterized in that the initiation of the simulated user action is performed before the web page is displayed. 9. Способ по п. 1, отличающийся тем, что инициирование имитируемого пользовательского действия выполняется во время отображения веб-страницы.9. The method according to claim 1, characterized in that the initiation of the simulated user action is performed while the web page is being displayed. 10. Способ по п. 1, отличающийся тем, что инициирование имитируемого пользовательского действия выполняется в ответ на обновление веб-страницы.10. The method of claim 1, wherein the simulated user action is initiated in response to a web page update. 11. Способ по п. 1, отличающийся тем, что изменение макета, указывающее на способность веб-страницы предоставлять персонализированные подсказки веб-страницы, определяется блоком визуализации браузерного приложения следующим образом: блок визуализации определяет, что изменение макета указывает на способность веб-страницы предоставлять персонализированные подсказки веб-страницы, если имитируемое пользовательское действие с по меньшей мере одним активируемым пользователем элементом макета инициирует изменение его макета.11. The method of claim 1, wherein the layout change indicating the web page's ability to provide personalized web page cues is determined by a renderer of the browser application as follows: the renderer determines that the layout change is indicative of the web page's ability to provide personalized web page prompts if a simulated user action with at least one user-activated layout element triggers a change to its layout. 12. Способ управления отображением веб-страницы в браузерном приложении, выполняемый процессором электронного устройства, выполняющего браузерное приложение, способное предоставлять персонализированные подсказки браузера в по меньшей мере одном активируемом пользователем элементе макета веб-страницы, и включающий в себя:12. A method for controlling the display of a web page in a browser application, performed by a processor of an electronic device executing a browser application capable of providing personalized browser hints in at least one user-activated web page layout element, comprising: получение процессором данных, представляющих веб-страницу, подлежащую отображению в браузерном приложении;receipt by the processor of data representing a web page to be displayed in a browser application; определение на веб-странице на основе полученных данных по меньшей мере одного активируемого пользователем элемента макета, демонстрируемого во время отображения веб-страницы;determining on the web page, based on the received data, at least one user-activated layout element displayed when the web page is displayed; инициирование процессором имитируемого пользовательского действия с по меньшей мере одним активируемым пользователем элементом макета;causing the processor to initiate a simulated user action with at least one user-activated layout element; определение процессором того, инициирует ли имитируемое пользовательское действие изменение макета, указывающее на способность веб-страницы предоставлять в по меньшей мере одном активируемом пользователем элементе макета персонализированные подсказки веб-страницы, сформированные веб-страницей независимо от браузерного приложения;determining by the processor whether the simulated user action triggers a layout change indicative of the web page's ability to provide, in at least one user-activated layout element, personalized web page cues generated by the web page independent of the browser application; запрещение процессором одного заранее заданного действия из следующих:prohibition by the processor of one predefined action from the following: предоставление браузерным приложением персонализированных подсказок браузера в по меньшей мере одном активируемом пользователем элементе макета на веб-странице во время ее отображения;providing the browser application with personalized browser hints in at least one user-activated layout element on the web page while it is being displayed; предоставление веб-страницей персонализированных подсказок веб-страницы в по меньшей мере одном активируемом пользователем элементе макета на веб-странице во время ее отображения,providing a web page with personalized web page cues in at least one user-activated layout element on the web page while it is being displayed, если изменение макета указывает на способность веб-страницы предоставлять персонализированные подсказки веб-страницы в этом по меньшей мере одном активируемом пользователем элементе макета.if the layout change indicates the web page's ability to provide personalized web page cues in the at least one user-activated layout element. 13. Способ по п. 12, отличающийся тем, что данные, представляющие веб-страницу, содержат исходный код на языке JavaScript и/или на языке CSS.13. The method according to claim 12, characterized in that the data representing the web page contains source code in JavaScript and/or CSS. 14. Способ по п. 12, отличающийся тем, что перед инициированием имитируемого пользовательского действия способ дополнительно включает в себя:14. The method according to claim 12, characterized in that before initiating the simulated user action, the method additionally includes: получение процессором схемы сканирования для по меньшей мере одного активируемого пользователем элемента макета, содержащей множество точек, представляющих внешний вид по меньшей мере одного активируемого пользователем элемента макета веб-страницы;receiving by the processor a scanning pattern for the at least one user-activated layout element comprising a plurality of points representing the appearance of the at least one user-activated layout element of the web page; применение процессором схемы сканирования в области по меньшей мере одного активируемого пользователем элемента макета, при этом инициирование имитируемого пользовательского действия с по меньшей мере одним активируемым пользователем элементом макета включает в себя инициирование имитируемого пользовательского действия с каждой точкой из множества точек.the processor applying a scanning pattern in the area of the at least one user-activated layout element, wherein initiating a simulated user action with the at least one user-activated layout element includes initiating a simulated user action with each point of the plurality of points. 15. Способ по п. 14, отличающийся тем, что инициирование имитируемого пользовательского действия с точкой из множества точек выполняется с заранее заданным интервалом времени.15. The method according to claim 14, characterized in that the initiation of a simulated user action with a point from a plurality of points is performed at a predetermined time interval. 16. Способ по п. 15, отличающийся тем, что он дополнительно включает в себя увеличение процессором заранее заданного интервала времени, если имитируемое пользовательское действие с точкой из множества точек не инициирует предоставления веб-страницей персонализированных подсказок веб-страницы в по меньшей мере одном активируемом пользователем элементе макета.16. The method of claim 15, further comprising the processor increasing a predetermined amount of time if the simulated user action with a dot of the plurality of dots does not trigger the web page to provide personalized web page suggestions in at least one activated by the user of the layout element. 17. Способ по п. 12, отличающийся тем, что имитируемое пользовательское действие включает в себя проверку обращения к по меньшей мере одному активируемому пользователем элементу макета.17. The method of claim 12, wherein the simulated user action includes checking for access to at least one user-activated layout element. 18. Способ управления отображением веб-страницы в браузерном приложении, выполняемый процессором электронного устройства, выполняющего браузерное приложение, способное предоставлять персонализированные подсказки браузера в по меньшей мере одном активируемом пользователем элементе макета веб-страницы, и включающий в себя:18. A method for controlling the display of a web page in a browser application, performed by a processor of an electronic device executing a browser application capable of providing personalized browser hints in at least one user-activated web page layout element, comprising: получение процессором данных, представляющих веб-страницу, подлежащую отображению в браузерном приложении;receipt by the processor of data representing a web page to be displayed in a browser application; определение на веб-странице на основе полученных данных по меньшей мере одного активируемого пользователем элемента макета, демонстрируемого во время отображения веб-страницы;determining on the web page, based on the received data, at least one user-activated layout element displayed when the web page is displayed; инициирование процессором имитируемого пользовательского действия с по меньшей мере одним активируемым пользователем элементом макета;causing the processor to initiate a simulated user action with at least one user-activated layout element; определение процессором того, инициирует ли имитируемое пользовательское действие изменение макета в по меньшей мере одном активируемом пользователем элементе макета;determining by the processor whether the simulated user action initiates a layout change in the at least one user-activated layout element; запрещение процессором браузерных модификаций, сформированных приложением веб-браузера, в контенте по меньшей мере одного активируемого пользователем элемента макета на веб-странице во время ее отображения, если имитируемое пользовательское действие инициирует изменение макета в по меньшей мере одном активируемом пользователем элементе макета.disabling, by the processor, browser modifications generated by the web browser application in the content of at least one user-activated layout element on the web page while it is being displayed if the simulated user action triggers a layout change in the at least one user-activated layout element. 19. Способ по п. 18, отличающийся тем, что изменение макета в по меньшей мере одном активируемом пользователем элементе макета указывает на способность веб-страницы предоставлять пользователю, просматривающему веб-страницу, в по меньшей мере одном активируемом пользователем элементе макета персонализированные подсказки веб-страницы, сформированные веб-сервером, на котором размещена веб-страница.19. The method of claim 18, wherein the layout change in the at least one user-activated layout element indicates the ability of the web page to provide a user viewing the web page in the at least one user-activated layout element with personalized web prompts. pages generated by the web server that hosts the web page. 20. Способ по п. 18, отличающийся тем, что браузерные модификации контента по меньшей мере одного активируемого пользователем элемента включают в себя предоставление процессором, обеспечивающим браузерное приложение, в по меньшей мере одном активируемом пользователем элементе макета персонализированных подсказок браузера, сформированных браузерным приложением.20. The method of claim 18, wherein the browser modifications to the content of the at least one user-activated element include the processor providing the browser application providing, in the at least one user-activated element, a layout of personalized browser hints generated by the browser application.
RU2022109773A 2022-04-12 2022-04-12 Method and system for controlling web page display RU2813299C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/134,015 US20230325455A1 (en) 2022-04-12 2023-04-12 Method and system for controlling display of a web page

Publications (2)

Publication Number Publication Date
RU2022109773A RU2022109773A (en) 2023-10-12
RU2813299C2 true RU2813299C2 (en) 2024-02-09

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660779B2 (en) * 2004-05-12 2010-02-09 Microsoft Corporation Intelligent autofill
US7716596B2 (en) * 2006-11-08 2010-05-11 International Business Machines Corporation Dynamic input field protection
RU2012117817A (en) * 2009-09-29 2013-11-10 Симплиджен Лтд. SYSTEM AND METHOD FOR MODIFICATION OF A WEB PAGE
US9330200B2 (en) * 2012-02-27 2016-05-03 Capital Intellect Inc. System and method for presenting input suggestions in input fields of a specific type in web pages by replacing the input field with a combo box
WO2020068169A1 (en) * 2018-09-27 2020-04-02 Google Llc Analyzing web pages to facilitate automatic navigation
RU2746848C1 (en) * 2018-12-13 2021-04-21 Общество С Ограниченной Ответственностью "Яндекс" Method and system for determining the next state of the recommendations block to display in a web browser

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660779B2 (en) * 2004-05-12 2010-02-09 Microsoft Corporation Intelligent autofill
US7716596B2 (en) * 2006-11-08 2010-05-11 International Business Machines Corporation Dynamic input field protection
RU2012117817A (en) * 2009-09-29 2013-11-10 Симплиджен Лтд. SYSTEM AND METHOD FOR MODIFICATION OF A WEB PAGE
US9330200B2 (en) * 2012-02-27 2016-05-03 Capital Intellect Inc. System and method for presenting input suggestions in input fields of a specific type in web pages by replacing the input field with a combo box
WO2020068169A1 (en) * 2018-09-27 2020-04-02 Google Llc Analyzing web pages to facilitate automatic navigation
RU2746848C1 (en) * 2018-12-13 2021-04-21 Общество С Ограниченной Ответственностью "Яндекс" Method and system for determining the next state of the recommendations block to display in a web browser

Similar Documents

Publication Publication Date Title
US9384503B2 (en) Terminal apparatus, advertisement display control apparatus, and advertisement display method
US7721225B2 (en) System and method for creating and presenting modal dialog boxes in server-side component web applications
US20220121723A1 (en) Distributed systems and methods for facilitating website remediation and promoting assistive technologies and detecting compliance issues
US9027122B2 (en) Isolation tool for user assistance in solving a captcha test
US7559016B1 (en) System and method for indicating web page modifications
US20130246926A1 (en) Dynamic content updating based on user activity
US9021352B2 (en) Methods and apparatus for predictive document rendering
US20100161713A1 (en) Method and system for personalizing a desktop widget
WO2012088487A2 (en) Surfacing content including content accessed from jump list tasks and items
WO2011156167A2 (en) Web application pinning including task bar pinning
EP2580683A2 (en) Creating and launching a web application with credentials
CN111611037B (en) View object processing method for electronic book, electronic device and storage medium
EP2580679A2 (en) Web application transitioning and transient web applications
CN112948035A (en) Method and device for controlling micro front-end page, terminal equipment and storage medium
CN102939583A (en) Creating task sessions
CN111291533B (en) Sentence segment to be displayed display method and device, computer equipment and storage medium
CN104881452B (en) Resource address sniffing method, device and system
US20090254837A1 (en) Accessing external functionality within a component-based web application
EP2932350A1 (en) Improvements relating to document interaction and feedback
RU2813299C2 (en) Method and system for controlling web page display
US20230325455A1 (en) Method and system for controlling display of a web page
US8793342B2 (en) Interpreting web application content
US20090300494A1 (en) User assistance panel
CN111198731A (en) Interface implementation method and device, electronic equipment and storage medium
US20130311359A1 (en) Triple-click activation of a monetizing action