CN108369600A - web浏览器扩展 - Google Patents

web浏览器扩展 Download PDF

Info

Publication number
CN108369600A
CN108369600A CN201680073956.1A CN201680073956A CN108369600A CN 108369600 A CN108369600 A CN 108369600A CN 201680073956 A CN201680073956 A CN 201680073956A CN 108369600 A CN108369600 A CN 108369600A
Authority
CN
China
Prior art keywords
web browser
application
input
processing
application service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680073956.1A
Other languages
English (en)
Other versions
CN108369600B (zh
Inventor
S·J·元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN108369600A publication Critical patent/CN108369600A/zh
Application granted granted Critical
Publication of CN108369600B publication Critical patent/CN108369600B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04892Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

本公开的非限制性示例描述了经由web浏览器应用的扩展的处理。例如,处理设备可以提供web浏览器应用,其包括使得应用服务能够与web浏览器应用接口的扩展。可以在Web浏览器应用的统一资源定位符(URL)栏中接收输入。根据接收到的输入,可以直接从URL栏中启动对应用服务的搜索。处理设备可以基于搜索从应用中检索结果。检索结果可以显示在与处理设备连接的显示器上的URL栏中。还描述了其他示例。

Description

web浏览器扩展
背景技术
目前,web浏览器功能可能需要许多步骤以使用户能够定位和访问web浏览器应用外部的资源的内容。第一步可能需要用户搜索可托管所需内容的网站。然后需要访问确定的网站。然后必须在网站上搜索所需的内容。一旦用户在网站上找到内容,用户将不得不开始访问内容。这样的过程对于用户来说是单调乏味的并且需要处理设备来处理大量的请求。此外,认为web浏览器应用的功能可以扩展到最初由web浏览器应用提供的功能之外。如此,本申请正是针对用于实现web浏览器应用的设备的改进处理的一般技术环境。
发明内容
本公开的非限制性示例描述了经由web浏览器应用的扩展的处理。例如,处理设备可以提供web浏览器应用,其包括使得应用服务能够与web浏览器应用接口的扩展。可以在web浏览器应用的统一资源定位符(URL)栏中接收输入。根据收到的输入,可以直接从URL栏中启动对应用服务的搜索。处理设备可以基于搜索从应用中检索结果。检索到的结果可以显示在与处理设备连接的显示器上的URL栏中。
本公开的其他非限制性示例描述了使得处理设备能够在web浏览器应用内高效地提供附加功能和特征的web浏览器扩展。提供了web浏览器应用,其包括使得多个应用服务能够与web浏览器应用接口的扩展。执行web浏览器应用的处理设备可以接收在web浏览器应用中启动新标签的请求。处理设备可以处理接收到的请求。响应于处理所接收的请求,在与处理设备连接的显示器上的web浏览器应用内启动新标签。新标签可以包括作为记事本特征的暂存器,其集成多个应用服务于web浏览器应用内。
提供本发明内容是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并非旨在确定所要求保护的主题的关键特征或基本特征,也并非旨在用于限制所要求保护的主题的范围。示例的其他方面、特征和/或优点将部分地在下面的描述中进行阐述,并且部分将从描述中变得显而易见,或者可以通过本公开的实践而了解。
附图说明
参考以下附图来描述非限制性和非穷举性的示例。
图1是示出可以实践本公开的各方面的计算设备的示例的框图。
图2A和图2B是可以实践本公开的各方面的移动计算设备的简化框图。
图3是其中可以实践本公开的各方面的分布式计算系统的简化框图。
图4示出了能够在其上可实践本公开的各方面的一个或多个计算设备上实现的示例性系统。
图5A-7B示出了突出显示通过可以实践本公开的各方面的示例性web浏览器扩展的处理的示例处理设备视图。
图8是利用可以实践本公开的各方面的示例性web浏览器扩展的内容搜索和检索的示例性方法。
图9是用于利用示例性web浏览器扩展来启动可以实践本公开的各方面的web浏览器应用中的新标签的示例性方法。
图10是利用web浏览器扩展来将接收到的输入处理成可以实践本公开的各方面的web浏览器应用的新标签的示例性方法处理。
图11是用于在实现可以实践本公开的各方面的示例性web浏览器扩展的web浏览器应用的新标签中的内容显示的示例性方法。
具体实施方式
本公开包括利用由web浏览器扩展提供的功能的处理的示例。web浏览器扩展是一组处理操作,它们共同扩展了web浏览器应用的功能。web浏览器扩展可以是一个或多个可执行程序、应用编程接口(API)或用于在处理设备上构建和执行软件应用的处理操作、函数、例程、协议和/或工具的任何其他集合。web浏览器应用是一种能够通过因特网(或分布式网络)检索,呈现和遍历信息资源的应用。在至少一个示例中,web浏览器扩展可被分发和/或与web浏览器应用捆绑在一起作为单个产品。示例web浏览器扩展被配置为修改和增强web浏览器应用以使得处理设备能够通过web浏览器应用连接到多个应用服务。在示例中,web浏览器扩展可以提供功能性,包括但不限于:通过web浏览器应用的统一资源定位符(URL)栏直接搜索内容(例如,应用服务的内容或本地地存储在处理设备上的内容),在web浏览器应用中直接启动内容,启动由web浏览器扩展自定义的新标签的能力,定制标签中的暂存器功能,对于内容提供实时通知的能力(例如内容更新),基于搜索历史提供建议的能力,以及识别所接收的输入并在处理内容时提供建议/推荐的能力等等。示例性web浏览器扩展可以集成在任何类型的web浏览器应用中。
因此,本公开提供了多种技术优点,包括但不限于:增加执行的web浏览器应用的功能,web浏览器应用和处理设备的可扩展性,甚至在应用服务未被本地安装在处理设备上的情况下动态缩放web浏览器应用以与应用服务连接的能力,当在处理设备上执行web浏览器应用时改善了用户交互,更高效地运行执行web浏览器应用的处理设备(例如,节省计算周期/计算资源),处理接收到的输入的改进的能力,对于为内容提供实时通知的能力,在处理设备上本地存储应用服务所需的存储器的减少,以及处理设备和应用服务之间的改进的通信等。
图1-3和相关描述提供了可以实践本发明的示例的各种操作环境的讨论。然而,关于图1-3示出和讨论的设备和系统仅用于示例和说明的目的,并不限制可用于实践本文所述的本发明的示例的大量计算设备配置。
图1是示出可以实践本公开的示例的计算设备102(例如移动处理设备)的物理组件的框图。举例来说,计算设备102可为用于实现如本文中所描述的示范性web浏览器应用和web浏览器扩展的示范性计算设备。在基本配置中,计算设备102可以包括至少一个处理单元104和系统存储器106。取决于计算设备的配置和类型,系统存储器106可以包括但不限于易失性存储器(例如,随机存取存储器)、非易失性存储器(例如,只读存储器)、闪存或这些存储器的任何组合。系统存储器106可以包括操作系统107和适合于运行诸如IO管理器124、其它实用程序126和应用128的软件程序/模块120的一个或多个程序模块108。作为示例,系统存储器106可以存储用于执行的指令。系统存储器106的其他示例可以存储与应用相关联的数据。例如,操作系统107可以适合于控制计算设备102的操作。此外,本发明的示例可以结合图形库、其他操作系统或者任何其他应用来实践,并且不受限制到任何特定的应用或系统。该基本配置在图1中由虚线122内的那些组件示出。计算设备102可具有附加特征或功能。例如,计算设备102还可以包括附加数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。图1中通过可移动存储设备109和不可移动存储设备110来说明这种附加存储。
如上所述,多个程序模块和数据文件可以存储在系统存储器106中。当在处理单元104上执行时,程序模块108(例如,输入/输出(I/O)管理器124、其他实用程序126和应用128)可以执行包括但不限于本公开中通篇描述的操作的一个或多个阶段的过程。可以根据本发明的示例使用的其他程序模块可以包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用、照片编辑应用、创作应用等。
此外,可以在包括分立电子元件、包含逻辑门的封装或集成电子芯片、利用微处理器的电路或者包含电子元件或微处理器的单个芯片上的电路中实施本发明的示例。例如,本发明的示例可以经由片上系统(SOC)来实施,其中图1中所示的每个或多个组件可以集成到单个集成电路上。这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,所有这些都被集成(或“烧”)到芯片衬底上作为单个集成电路。当经由SOC进行操作时,可以经由与单个集成电路(芯片)上的计算设备502的其他组件集成的应用专用逻辑来操作本文所描述的功能。本公开的示例还可以使用能够执行诸如例如与(AND)、或(OR)和非(NOT)逻辑操作的其他技术来实践,包括但不限于机械、光学、流体和量子技术。另外,本发明的示例可以在通用计算机内或在任何其他电路或系统内实施。
根据一个方面,计算设备102具有一个或多个输入设备112,诸如键盘、鼠标、笔、声音输入设备、语音输入/识别设备、触摸输入设备等。还包括输出设备114,如显示器、扬声器、打印机等。上述设备是示例,并且可以使用其他设备。根据一方面,计算设备104可以包括允许与其他计算设备118进行通信的一个或多个通信连接116。合适的通信连接116的示例包括但不限于:RF发射器、接收器和/或收发器电路;通用串行总线(USB)、并行和/或串行端口。
这里使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构或程序模块的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器106、可移动存储设备109和不可移动存储设备110都是计算机存储介质示例(即,存储器存储)。计算机存储介质可以包括RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备或可用于存储信息并且可以由计算设备102访问的任何其它制品。任何这样的计算机存储介质可以是计算设备102的一部分。计算机存储介质不包括载波或其他传播或调制的数据信号。
通信介质由计算机可读指令、数据结构、程序模块或诸如载波或其他传输机制的调制数据信号中的其他数据来体现,并且包括任何信息传递介质。根据一个方面,术语“调制数据信号”描述了以对信号中的信息进行编码的方式设置或改变一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、射频(RF)、红外和其它无线介质的无线介质。
图2A和图2B示出了移动计算设备200,例如移动电话、智能电话、个人数据助理、平板个人计算机、平板手机、片上设备、膝上型计算机等,利用该移动计算设备可以实践本发明的示例。移动计算设备200可以是用于实现如本文所述的示例性web浏览器应用和web浏览器扩展的示例性计算设备。例如,移动计算设备200可以被实现为执行应用和/或应用命令控件。应用命令控件涉及通过用户界面(UI)或图形用户界面(GUI)与应用一起使用的命令的显示和控制。在一个示例中,应用命令控件可以被编程为专门用于与单个应用一起工作。在其他示例中,应用命令控件可以被编程为跨越多个应用工作。参照图2A,示出了用于实现这些示例的移动计算设备200的一个示例。在基本配置中,移动计算设备200是具有输入元件和输出元件的手持式计算机。移动计算设备200通常包括显示器205和允许用户将信息输入到移动计算设备200中的一个或多个输入按钮210。移动计算设备200的显示器205还可以用作输入设备(例如,触摸屏显示器)。如果包括,则可选的侧面输入元件215允许进一步的用户输入。侧面输入元件215可以是旋转开关、按钮或任何其他类型的手动输入元件。在替代示例中,移动计算设备200可以包含更多或更少的输入元件。例如,在一些示例中,显示器205可能不是触摸屏。在又一个可选示例中,移动计算设备200是便携式电话系统,诸如蜂窝电话。移动计算设备200还可以包括可选小键盘235。可选小键盘235可以是物理小键盘或在触摸屏显示器或任何其他软输入面板(SIP)上生成的“软”小键盘。在各种示例中,输出元件包括用于示出GUI、视觉指示器220(例如发光二极管)和/或音频换能器225(例如扬声器)的显示器205。在一些示例中,移动计算设备200结合了用于向用户提供触觉反馈的振动换能器。在又一个示例中,移动计算设备200结合了诸如音频输入(例如麦克风插孔)、音频输出(例如耳机插孔)和视频输出(例如,UDMI端口)的输入和/或输出端口,用于向外部设备发送信号或从外部设备接收信号。
图2B是说明移动计算设备的一个示例的体系结构的框图。即,移动计算设备200可以结合系统(即,体系结构)202来实现一些示例。在一个示例中,系统202被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传递客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些示例中,系统202被集成为计算设备,诸如集成个人数字助理(PDA)、平板电脑和无线电话。
一个或多个应用266可以被加载到存储器262中并且在操作系统264上或者与操作系统264相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息传递程序等等。系统202还包括存储器262内的非易失性存储区域268。非易失性存储区域268可以用于存储在系统202断电时不应该丢失的持久信息。应用程序266可以使用信息并将信息存储在非易失性存储区域268中,诸如由电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也驻留在系统202上,并被编程为与驻留在主机上的相应同步应用进行交互,以保持存储在非易失性存储区域268中的信息与存储在主机上的对应信息同步。应该意识到,其他应用可以被加载到存储器262中并且在这里描述的移动计算设备200上运行。
系统202具有电源270,其可以被实现为一个或多个电池。电源270可以进一步包括外部电源,例如对电池进行补充或再充电的AC适配器或电动对接支架。
系统202可以包括执行促进系统202和一个或多个外围设备之间的连接的功能的外围设备端口230。来自外围设备端口230到外围设备端口230的传输是在操作系统(OS)264的控制下进行的。换句话说,由外围设备端口230接收的通信可以通过操作系统264传播到应用程序266,反之亦然。
系统202还可以包括执行发送和接收射频通信的功能的无线电接口层272。无线电接口层272通过通信运营商或服务提供商来促进系统202与“外部世界”之间的无线连接。去往和来自无线电接口层272的传输在操作系统264的控制下进行。换句话说,由无线电接口层272接收的通信可以经由操作系统264传播到应用程序266,反之亦然。
视觉指示器220可用于提供视觉通知,和/或音频接口274可用于经由音频换能器225产生可听通知。在所示示例中,视觉指示器220是发光二极管(LED)并且音频换能器225是扬声器。这些设备可以直接耦合到电源270,使得当被激活时,即使处理器260和其他组件可能关闭以保存电池电力,它们仍然保持开启由通知机制规定的持续时间。LED可以被编程为无限期地保持开启,直到用户采取措施指示设备的开机状态。音频接口274用于向用户提供可听信号并从用户接收可听信号。例如,除了耦合到音频换能器225之外,音频接口274还可以耦合到麦克风以接收可听输入,诸如促进电话对话。根据本发明的示例,麦克风还可以用作音频传感器以促进对通知的控制,如下所述。系统202还可以包括视频接口276,其使得板载相机230的操作能够记录静止图像、视频流等。
实现系统202的移动计算设备200可以具有附加特征或功能。例如,移动计算设备200还可以包括附加的数据存储设备(可移除的和/或不可移除的),诸如磁盘、光盘或磁带。这种附加存储在图2B中通过非易失性存储区域268示出。
如上所述,由移动计算设备200生成或捕获并经由系统202存储的数据/信息可以本地地存储在移动计算设备200上,或者数据可以存储在可以通过设备经由无线电272或经由移动计算设备200和与移动计算设备200相关联的单独计算设备(例如分布式计算网络(例如因特网)中的服务器计算机)之间的有线连接访问的任何数量的存储介质上。应该意识到,可以经由无线电272通过移动计算设备200或经由分布式计算网络来访问这种数据/信息。类似地,根据众所周知的数据/信息传输和存储单元,包括电子邮件和协作数据/信息共享系统,这些数据/信息可以容易地在计算设备之间传输以用于存储和使用。
图3示出了用于提供如上所述可靠地访问存储系统上的目标数据并且处理与一个或多个客户端设备的通信故障的应用的系统的体系结构的一个示例。图3的系统可以是用于实现如本文所述的示例性web浏览器应用和web浏览器扩展的示例性系统。与编程模块108、应用120和存储装置/存储器相关联地访问,交互或编辑的目标数据可以存储在不同的通信通道或其他存储类型中。例如,可以使用目录服务322、网络门户324、邮箱服务326、即时消息传递存储库328或社交网络站点330、应用128、IO管理器124、其他实用工具126来存储各种文档系统,并且存储系统可以使用这些类型的系统等中的任何一个来实现数据利用,如本文所述的。服务器320可以提供存储系统以供通过网络315在通用计算设备102和移动设备200上操作的客户端使用。作为示例,网络315可以包括因特网或任何其他类型的局域网或广域网,并且客户端节点可以实现为体现在个人计算机、平板计算设备中的计算设备102和/或由移动计算设备200(例如,移动处理设备)来体现。客户端计算设备102或200的这些示例中的任何一个可以从存储库316获得内容。
图4示出了可以在其上可以实践本公开的各方面的一个或多个计算设备上所能实现的示例性系统400。系统400可以是用于实现如本文所述的示例性web浏览器应用和web浏览器扩展的示例性系统。所呈现的示例性系统400是相互依赖的组件的组合,所述组件相互作用以基于用户示例操作形成学习程序生成的整体。系统400的组件可以是在系统1300的硬件组件上实现和/或由其执行的硬件组件或软件。在示例中,系统400可以包括硬件组件(例如ASIC、用于执行/运行OS的其他设备)以及运行在硬件上的软件组件(例如,应用、应用编程接口、模块、虚拟机、运行时间库)。在一个示例中,示例性系统400可以提供软件组件运行的环境,遵守为运行设置的约束,并且利用系统/处理设备的资源或设施,其中组件可以是运行在一个或多个处理设备上的软件(例如,应用、程序、模块)。例如,软件(例如,应用、操作指令、模块)可以运行在诸如计算机、移动设备(例如,智能手机/电话、平板电脑)和/或任何其他电子设备的处理设备上。作为处理设备操作环境的示例,参考图1-3的操作环境。在其他示例中,这里公开的系统的组件可以分布在多个设备上。例如,可以在客户端设备(例如,处理设备)上输入输入内容,并且可以从诸如一个或多个服务器设备的网络中的其他设备处理或访问信息。
本领域技术人员将意识到,诸如系统400的系统的规模可以变化并且可以包括比图4中所描述的更多或更少的组件。在一些示例中,系统400的组件之间的接口可以例如远程地发生,例如系统400的组件可以分布在分布式网络的一个或多个设备上。在示例中,一个或多个数据存储库/存储装置或其他存储器与系统400相关联。例如,系统400的组件可具有与其相关联的一个或多个数据存储装置/存储器/存储库。与系统400的组件相关联的数据可以存储在其上以及存储由系统400的组件执行的处理操作/指令。系统400的组件可以与处理设备的OS对接,以执行与启动和执行包括示例性web浏览器扩展的web浏览器应用相关的处理操作。系统400的一个或多个组件可用于提供示例性web浏览器扩展作为可通过web浏览器应用被一个或多个入口点访问的服务。入口点是与web浏览器扩展进行通信的入口点或平台,例如启动与web浏览器扩展通信的通信和/或应用服务的设备。在示例中,入口点可以包括但不限于:任何应用/服务,包括搜索应用、智能个人助理应用、第一方产品/服务、第二方产品/服务以及第三方产品/服务等其他例子。应用服务(例如,在处理设备/系统上执行的应用)是可以与web浏览器应用和web浏览器扩展接口的任何资源。应用服务可能包括但不限于,可能由与Web浏览器扩展相同的企业/组织管理的系统、应用/服务,以及web浏览器扩展的企业/组织外部的资源。应用服务可能包括诸如web搜索服务、电子邮件应用、日历、设备管理服务、地址簿服务、信息服务等资源以及由第三方托管或控制的服务和/或网站。例如,应用服务可以包括业务线(LOB)管理服务、客户关系管理(CRM)服务、调试服务、会计服务、工资服务等。应用服务可以进一步包括由第三方托管的其他网站和/或应用,诸如社交媒体网站等;照片分享网站;视频和音乐流媒体网站;搜索引擎网站;体育、新闻或娱乐网站等。服务可以提供可靠的报告、分析、数据编辑和/或存储服务等,而可以集成在web浏览器应用内的一些其他服务可以提供搜索引擎或对数据和信息、图像、视频等的其他访问。
此外,系统400的组件可以具有处理装置并且可以被配置为处理任何类型的输入,包括但不限于语言/语音输入、文本输入、手势输入、手写输入等等其它示例。系统400可以是可扩展的并且可配置为在各种处理设备上操作,包括但不限于:台式计算机、膝上型计算机、诸如电话、平板电脑、片式设备、可穿戴处理设备(例如手表、眼镜、耳机)的移动处理设备、车载处理设备,以及具有至少一个处理器的任何其他设备等。示例性系统400包括应用组件406,其包括用户界面组件408、输入识别组件410和web浏览器扩展组件412,其中每个识别的组件可以包括一个或多个附加组件。
系统400可以进一步包括一个或多个存储装置414,其可以存储与系统400的一个或多个组件的操作相关联的数据。存储装置414是任何物理或虚拟存储器空间。存储装置414可以存储用于由系统400的组件执行的处理操作的任何数据、来自处理操作的保留数据、训练数据、用于执行处理操作的建模数据以及知识数据等其他示例。此外,在示例中,系统400的组件可以在由系统400的组件进行的处理中利用知识数据。知识数据是系统400的组件能够用于改进知识数据可以从系统400内部或外部的资源获得的任何应用组件406的处理的任何数据。在示例中,知识数据可以保存在存储装置414中或者可以通过知识获取操作从系统400外部的一个或多个资源中检索。作为示例,可以被示例性web浏览器扩展访问的应用服务可以被认为是可以本地存储或者通过分布式网络访问的知识数据。
在图4中,处理设备402可以是包括至少一个处理器和至少一个存储器/存储装置的任何设备。处理设备402的示例可以包括但不限于:诸如台式计算机、服务器、电话、平板电脑、平板手机、片式设备、膝上型电脑、手表之类的处理设备,以及任何其他电子组件的集合,诸如具有一个或多个处理器或电路的设备。在一个示例中,处理设备402可以是正在执行web浏览器应用和web浏览器扩展的用户的设备。在示例中,处理设备402可以经由网络404与应用组件406进行通信。在一个方面,网络404是分布式计算网络,例如因特网。应用服务可以经由网络404与应用组件406进行通信。
应用组件406是用于启动和管理web浏览器应用的组件的集合。web浏览器可以包括示例性web浏览器扩展,或者可替代地可以关联于与web浏览器应用执行的示例性web浏览器扩展接口。应用组件406可以包括用户界面组件408、输入识别组件410和web浏览器扩展组件412。在替代示例中,可以创建一个或多个附加组件以管理贯穿本公开描述的操作。应用组件406可以存储在一个或多个处理设备(例如,客户端设备)上,或者可以例如通过分布式网络来分发对一个或多个应用组件406的访问。
用户界面组件408是被配置为在执行web浏览器应用时能够与处理设备的用户进行交互的一个或多个组件。在示例中,用户界面组件408可以被配置为使处理设备能够访问与可以在web浏览器应用内实现的示例性web浏览器扩展相关联的功能性。通过用户界面组件408将透明度和组织带到处理设备的用户,其中用户可以通过包括由web浏览器扩展提供的功能性的用户界面元素来与该web浏览器应用交互。作为示例,用户界面组件408可以包括在处理设备的显示器上生成并显示一个或多个用户界面元素。用户界面组件408可以进一步作为用于由其他应用组件406执行的后端处理的显示(例如图形用户界面)的前端来执行。在示例中,用户界面定义文件可以用于定义用于促进处理设备与配置有示例性web浏览器扩展的web浏览器应用之间的交互的用户界面元素。用户界面定义文件可以包括用于管理和显示与用户界面组件408相关联的用户界面元素的编程指令或操作。
输入识别组件410是系统400的组件,其接收,处理和标记所接收的输入以进行识别。当例如经由用户界面组件408接收到输入时,输入被发送到输入识别组件410以进行处理。作为上述示例,除了其他示例之外,由输入识别组件410处理的输入包括但不限于语言/语音输入(例如,话语)、文本输入、手势输入和手写输入。
在示例中,输入识别组件410可以被配置为执行处理操作,该处理操作使用对于web浏览器扩展评估可能有用的数据来评估和标记/注释所接收的输入以进行进一步处理。作为示例,由输入识别组件410评估的信号可以包括用户上下文信号。用户上下文信号是可用于收集可用于评估接收到的输入的信息的任何类型的信号数据。用户上下文信号(或者替代地,基于用户上下文的查询等级信号)的示例考虑用户、用户位置、用户语言数据、用户设备的形状因数、时间数据、入口点数据(例如,输入通过其输入的应用)和/或作为上下文的个性化等等。例如,在系统/服务能够最好地评估接收到的输入的上下文以改善使用web浏览器应用时的用户交互的情况下,获得这样的不同组的信号数据可以提供技术益处。可以被收集和评估的示例性用户上下文信号数据可以包括但不限于:
用户数据:标识发起输入的用户的任何数据。用户数据可以进一步包括用户位置数据,例如当发布输入时用户的纬度和经度。
语言数据:指示与用户相关的语言的数据,例如OS、应用等的语言,或用于检索结果数据的首选语言等等。
位置数据:可用于识别来自与接收到的输入相关联的输入或处理设备的任何位置数据的数据。
形状因数数据:识别与输入、应用或系统关联的设备类型的数据。作为例子,这样的数据可能是重要的,因为基于发起查询的设备(例如,桌面设备与移动设备),输入的意图可能非常不同;可选地或附加地,基于所使用的设备(例如,应用/服务的移动版本),用户以特定形式/格式获得结果数据的意图/愿望可能是不同的。
入口点数据:指示发布输入/查询的入口点的数据。例如,入口点数据是标识输入是否从搜索应用、智能个人助理、文字处理应用、日历应用等发起的信号数据。
应用执行数据:指示正在处理设备/系统中执行的应用的数据。可以包括指示可能在处理设备或系统上执行/运行的一个或多个应用的检测的数据。
时间数据:提供与接收到的输入相关的时间维度的数据。例如,时间戳数据可以用于评估结果数据与接收到的输入的意图的相关性。
个性化/上下文数据:诸如设备或应用(例如,浏览器、搜索引擎)的用户的位置和/或语言偏好设置的数据。还可以考虑关于用户的先前查询、其他线程、线程中涉及的用户、其他执行的应用/服务、域类型、偏好等的用户的上下文数据。
在示例中,输入识别组件410可以获取用户上下文信号的数据并处理输入以生成可以传递给处理设备或应用服务的注释数据。注释数据可以被传递给系统400的其他组件,例如web浏览器扩展组件412以供进一步处理。作为示例,可以将接收到的输入的处理传递给扩展组件412,以将接收到的输入和与接收到的输入相关联的用户上下文信号传送给应用服务,以最好地评估结果数据。例如,可以将用户身份和搜索的上下文传递给应用服务,以检索与正在利用web浏览器应用的用户的搜索相关联的结果。用于收集这种用户上下文信号数据的处理操作可以是本领域技术人员已知的。在示例中,这种处理操作可以包括一个或多个计算机可执行指令/编程操作、应用编程接口(API)、机器学习处理以及可以提取和注释用户上下文信号数据的任何其他类型的编程应用或服务。本领域技术人员还应该认识到,在尊重隐私法律保护用户的同时,收集用于评估诸如用户上下文信号之类的输入/查询信号数据的数据。
web浏览器组件412是被配置为在诸如处理设备402之类的处理设备上执行期间启动,执行和管理web浏览器应用的组件。如上所述,web浏览器应用是能够检索,呈现和遍历通过互联网(或分布式网络)的信息资源的应用。web浏览器应用可以是用于在处理设备上构建和执行软件应用的一个或多个可执行程序、应用编程接口(API)或处理操作、函数、例程、协议和/或工具的任何其他集合。在至少一个示例中,web浏览器扩展(例如通过扩展组件412提供)可以被分发和/或与web浏览器应用捆绑在一起作为单个产品。web浏览器与包括扩展组件412的系统400的一个或多个其他组件接口,该扩展组件412使web浏览器应用能够向web浏览器应用的用户提供附加功能。web浏览器使处理设备能够为处理设备的用户提供特定的网页浏览体验。在此过程中,web浏览器可管理一个或多个处理设备与web浏览器应用之间的交互,其中管理包括但不限于:启动web浏览器应用,web浏览器应用的显示和图形用户界面,web浏览器应用中配置的特征/功能性的输入识别处理,搜索查询处理,web浏览处理,查找和通知,书签和历史记录管理,web浏览历史记录管理,标签/窗口管理,web浏览器应用设置,以及与web浏览器扩展和/或应用服务接口等等。
扩展组件412是被配置为扩展web浏览器应用的功能性的组件。web浏览器扩展可以是用于在处理设备上构建和执行软件应用的一个或多个可执行程序、应用编程接口(API)或处理操作、函数、例程、协议和/或工具的任何其他集合。扩展组件412可以是可配置的,以向web浏览器应用提供增加的功能,为web浏览器应用的用户提供量身定制的体验,以及提高处理设备的处理操作效率等等。在示例中,扩展组件412可以为web浏览器应用提供功能性,包括但不限于:通过web浏览器应用的统一资源定位符(URL)栏直接搜索内容(例如,应用服务的内容或本地存储在处理设备上的内容),可直接启动web浏览器应用中的内容,启动通过web浏览器扩展自定义的新标签的能力,定制标签中的暂存器功能性,为内容提供实时通知的能力(例如,更新内容),根据搜索历史提供建议的能力,以及识别接收到的输入并在处理内容时提供建议/推荐的能力等等。由web浏览器扩展提供的功能性/可扩展性(例如,通过扩展组件412实现)的示例在图5A-11的描述中进一步详述。扩展组件412可以与web浏览器对接以使web浏览器应用能够集成并提供可能不存在于独立web浏览器应用中的附加功能。示例性web浏览器扩展可以集成在任何类型的web浏览器应用中。
扩展组件412还可以与包括用户界面组件408和输入识别组件410的系统400的其他组件进行接口以接收和处理接收到的输入。此外,扩展组件412可以被配置为与诸如应用服务之类的外部资源进行通信并且将这样的应用服务集成在web浏览器应用内。在一个示例中,应用服务的集成可以包括监听web浏览器应用的接收到的输入,处理接收到的输入,将所接收的输入发送到一个或多个应用服务以进行处理,并且返回从一个或多个应用服务检索到的结果。扩展组件412可以被进一步配置为与诸如处理设备402的处理设备接口。例如,扩展组件412可以用于在处理设备402上本地搜索内容,或者替代地,通过分布式网络搜索与处理设备402连接的内容。内容可以是任何种类的存储数据,并且包括但不限于文本/音频/视频的部分、文件、文档和链接等等。
图5A-7B示出了突出显示通过可以实践本公开的各方面的示例性web浏览器扩展的处理的示例处理设备视图。在图5A-7B中突出显示的处理设备视图是由被配置为与web浏览器应用接口的web浏览器扩展触发的处理设备处理交互的示例。例如,在web浏览器应用内接收用户界面元素的输入或选择可以触发web浏览器扩展与处理设备进行通信以更新web浏览器应用的显示。与图5A-7B所示的处理设备视图相关的处理视图在可以由示例性处理设备和/或系统执行,例如图1-4中所示的处理设备和/或系统。
图5A示出突出显示web浏览器应用的标签的显示的处理设备视图500。举例来说,当启动web浏览器应用时,web浏览器应用的标签可以显示URL栏502。URL栏502是图形控制元素地址栏,其示出了在web浏览器应用的浏览器窗口504上显示的网页的当前URL。URL栏502可以接受接收到的输入并将浏览器窗口504导航到web浏览器应用中的选定网站。在至少一个示例中,URL栏502可以被进一步配置为用作文件浏览器以导航可以本地存储在处理设备上或者通过分布式网络远程存储的文件系统分层结构。URL栏502可以包括多个图形用户界面元素,包括但不限于:用于控制浏览器窗口504内的网页的导航的图形控制元素,web浏览器应用的主页设置,浏览器窗口504的查看属性,书签/历史记录,控制设置和web浏览器扩展等。本领域技术人员应该认识到,示例性URL栏502可以包括比被列为特征的特征更多或更少的特征,并且URL栏502的控件可以基于正在执行的web浏览器应用的类型而变化。示例性web浏览器扩展(如前所述)可以与web浏览器应用接口以向URL栏502提供附加功能。这些附加功能的一些示例在本公开的图5B-5F中示出。
如图5A所示,web浏览器扩展的应用可以使得URL栏502包括内容通知图标506。内容通知图标506可以提供对与web浏览器应用正在其上执行的处理设备上本地存储的一个或多个应用服务或内容相关联的内容的实时更新。内容通知图标506的扩展视图的示例在图5F中示出。
图5B示出处理设备视图510,其突出显示由示例性web浏览器扩展提供给URL栏502的附加功能的示例。如处理设备视图510所示,可以在URL栏502中接收输入,其中输入“O”。响应于接收到的输入,web浏览器扩展可以执行处理以评估接收到的输入。web浏览器扩展可以被配置为监听接收到的输入(包括可以更新URL栏502中的显示输入的接收到的输入的多个传递)。这样做时,web浏览器扩展可以采用可以监听和处理接收到的输入的事件处理操作。作为示例,用户可能希望在分布式应用服务上搜索内容,例如存储在分布式网络的存储器上的文件。在这样的例子中,处理设备将需要执行许多步骤来定位和访问期望的内容。第一步可能需要搜索与可托管这种期望内容的应用服务相关联的网站。一旦确定了一个网站,就需要访问该网站。然后必须搜索内容并内容位于与应用服务相关联的网站上。一旦找到内容,内容就可以被web浏览器应用访问。处理设备视图510示出了web浏览器扩展的集成,其可以使得用户能够直接从接收到web浏览器应用的URL栏502的输入中搜索(并且经由处理设备以便直接访问)内容,从而移除例如对处理设备执行上述识别和显示期望内容的若干步骤的需要。
处理设备视图510响应于接收到的输入“O”的处理来提供处理结果的显示。如处理设备视图510所示,来自接收到的输入的事件处理的结果可以显示在URL栏502的下拉菜单512中。下拉菜单512是图形控制元素,其呈现用于用户可以从中进行选择的一个或多个值的列表并允许用户从列表中选择一个值。作为示例,下拉菜单512可以用作自动完成特征,其中显示包括接收到的输入的一部分的结果数据。用户可以从下拉菜单512中选择结果以自动完成输入到URL栏502中的输入。本领域技术人员应该认识到,下拉菜单512只是可以通过web浏览器应用和web浏览器扩展利用的图形控制元素的一个示例。呈现执行类似于下拉菜单512的功能的图形控制元件可以有所不同。在下拉菜单512中显示的检索结果可以从多种资源中的任何资源中检索,包括但不限于:与web浏览器扩展相关联的一个或多个应用服务、web浏览器应用内的URL历史记录以及本地存储在执行web浏览器应用的处理设备上的内容。
如处理设备视图510所示,输入的接收可以触发URL栏502的更新显示,其中在URL栏502内显示定界符提示514。定界符提示514可以用于指示一个或多个定界符,其可用于通过将web浏览器扩展与web浏览器应用集成来提供附加功能。定界符可能是web浏览器扩展进行的特定命令处理的触发器。例如,诸如按下“标签”键的定界符(或作为定界符的按键组合;例如按下“O”,然后按下“标签”以及其它示例)可以触发对应用服务的直接访问,其中用户可以直接从URL栏502搜索应用服务。定界符的触发可以以任何形式发生,包括但不限于:击键,触摸输入,语音输入,手写输入和使用一个或多个处理设备的定界符的选择。例如在web浏览器扩展可识别多个不同的预定义定界符的情况下,多个定界符可以由web浏览器扩展来预定义。此外,定界符可以是用户定义的(例如,通过重复的用户输入),或由诸如第三方应用服务之类的其他应用/服务来定义。此外,在一些示例中,web使用的定界符能够在web浏览器应用内搜索。例如,可以在URL栏502内提供一个或多个定界符的标识。在示例中,web浏览器应用可以与多个web浏览器扩展集成。多个web浏览器扩展可以在启动的web浏览器应用中执行,其中每个web浏览器应用可以与一个或多个定界符相关联。也就是说,在一些示例中,web浏览器扩展可以针对特定功能定制,其中可以使用一个或多个定界符来访问由应用服务提供的这种功能性。在其他示例中,通过定界符提供的功能性可能不是URL栏的一部分。在这样的例子中,一旦调用了定界符触发器,之后的键击将基本上是对web浏览器应用外部的服务的“查询”。从服务收到响应后,将相关响应注入并添加到显示在URL栏输入字段下方的URL栏的搜索结果中。
图5C示出处理设备视图520,其响应于对选择定界符触发web浏览器扩展功能性的实现的处理来提供处理结果的显示。例如,可以选择“标签”键的定界符(如处理设备视图510中所示)。作为响应,URL栏502被更新,其中应用服务图标522被显示在URL栏502内。在一些示例中,应用服务图标522可以是能选择并且被修改以在与web浏览器扩展关联的多个应用服务之间切换。如在处理设备视图520中可以看到的,基于对定界符的选择来更新URL栏502的下拉菜单512。
图5D示出处理设备视图530,其响应于在URL栏502内更新接收到的输入532而提供处理结果的显示。接收到的输入532“Lemurs”正被输入到URL栏502中。如在处理设备视图530中看到的,基于接收到的输入532来更新URL栏502的下拉菜单512。web浏览器扩展可以利用事件处理来监听对接收到的输入的任何更新。随着接收到的输入532改变,URL栏502可以动态地更新以显示更新的结果,例如,在下拉菜单512中显示更新的结果。
图5E示出处理设备视图540,其响应于从URL栏502选择检索结果而提供内容的显示。例如,如处理设备视图530所示,接收到的输入532“Lemurs”触发了下拉菜单512列出包括一个Lemur文档的结果。处理设备视图540示出了选择Lemur文档的结果。在一个示例中,选择Lemur文档触发启动新标签542。在新标签542中,浏览器窗口544可以直接显示在处理设备视图530中的下拉菜单512内选择链接而产生的Lemur文档。web浏览器应用可以使用户能够在多个启动的标签之间切换。web浏览器扩展可以进一步向浏览器窗口544提供关于启动的文档的应用服务的附加功能性(例如,编辑,打印,共享,评论)。在替代示例中,浏览器窗口504(当前正在使用的)可以被更新以包括可以从应用服务检索到的Lemur文档的显示。
图5F示出处理设备视图550,其提供URL栏502内的扩展通知图标552的显示。如图5A所示,web浏览器扩展的应用可以使得URL栏502包括内容通知图标506。内容通知图标506可以提供对与web浏览器应用正在其上执行的处理设备上本地存储的一个或多个应用服务或内容相关联的内容的实时更新。内容通知图标506的扩展视图552的示例在图5F中示出。web浏览器扩展向web浏览器应用提供附加功能以详细描述关于内容(例如,与web浏览器扩展相关联或本地存储在处理设备上的一个或多个应用服务的内容)的更新通知。此外,扩展通知图标552可以使用户能够在不同的应用服务之间切换并更新通知。
图6A示出处理设备视图600,其在示例性web浏览器应用中提供启动的新标签602的显示。在一个示例中,web浏览器应用内的web浏览器扩展的执行可以响应于启动web浏览器应用的请求而触发标签602的显示。在另一个示例中,web浏览器应用的用户可能正在查看第一标签。响应于执行请求启动新标签的命令,新标签602可以在web浏览器应用内启动。示例性web浏览器应用可以被配置为定制web浏览器应用内新标签602的启动,提供可能不存在于web浏览器应用中的附加功能而不执行web浏览器扩展。新标签602可以包括第一应用窗口604,其显示可以通过web浏览器扩展访问的功能性/特征的列表。例如,第一应用窗口604可以包括但不限于:由web浏览器扩展提供的应用服务可扩展性的显示,暂存器,到最近文档的链接,用户信息,以及搜索功能性等等。
新标签602可以进一步包括第二应用窗口606,该第二应用窗口最初启动可在web浏览器应用中直接访问的暂存器功能性。暂存器是一个记事本,它在web浏览器应用中集成了多个应用服务。暂存器功能性使用户能够记下想法,插入内容,创建链接,创建文档,从应用服务启动内容,共享数据,与一个或多个其他用户创建通信线程,以及其它在暂存器内插入或创建的管理内容等等。在第二应用窗口606内,暂存器功能性提供控制特征608,控制特征608是能够控制输入或插入到暂存器(应用窗口606)中的内容的用户界面元素。例如,控制特征608可以能够由web浏览器扩展的开发者和/或web浏览器应用的用户修改。
图6B示出处理设备视图620,该处理设备视图620提供接收到显示的新标签602的暂存器中的输入的显示。如处理设备视图620所示,输入622被接收到暂存器中。作为示例,输入可以是由web浏览器扩展识别的定界符(如前所述)。在一个示例中,定界符可以是多于一个字符,并且因此接收的输入622仅仅是定界符的一部分。web浏览器扩展可以提供显示用于用户选择预定定界符的定界符624的列表的功能性。在示例中,定界符624的列表可以是能搜索的。
作为示例,用户可以在暂存器的输入字段中输入输入内容“我在”,包括“[位置]”的上下文定界符。web浏览器扩展可以执行事件处理以检测该输入内容并利用处理操作来识别处理设备/用户位于例如纽约市的“第22大楼”的位置。这可以通过与Web浏览器应用外部的应用服务(例如位置服务)进行通信来完成。作为示例,web浏览器扩展被配置为自动完成接收到的输入以插入处理设备的位置,以完成在暂存器中接收到的输入。此外,在一个示例中,可以更新暂存器的显示以包括与处理接收到的输入/定界符相关联的内容。例如,用户可以输入以下内容的输入内容:“我在[下一个可用空闲时间]有空。”。web浏览器扩展可以处理接收到的输入,并提供几个下一个可用空闲时间的显示,例如用于插入以完成接收到的输入。
图6C示出处理设备视图630,该处理设备视图630提供到最近文档列表632的链接的显示,该链接能够在web浏览器应用的标签602内显示。作为示例,可以在第一应用窗口604中选择到最近文档列表的链接。响应于该选择,在第二应用窗口606中显示最近文档632的列表。最近文档632的列表可以包括与一个或多个应用服务和/或处理设备相关联的一种或一种类型的内容(例如,文档、文件、链接)。作为示例,最近文档632的列表可以与登录到web浏览器应用的用户的用户账户相关联。例如,web浏览器应用可以使得用户能够登录到他或她的用户账户并且利用web浏览器扩展来与一个或多个处理设备和/或与该用户相关联的相关联的应用服务对接。如处理设备视图630所示,最近文档632的列表包括与用户相关联的每个最近文档的摘要。摘要可以是以下中的至少一个:文档内容的简要概要,关于文档标题或文档内容的数据(例如,事实、描述、文档的统计分析、建议/推荐以及链接的注释/事件)等等。在示例中,用户可以利用第二应用窗口606来从最近文档632的列表中启动一个或多个文档。
图7A示出了处理设备视图700,该处理设备视图700基于由示例性web浏览器扩展的处理来提供在web浏览器应用内提供的历史通知702的显示。处理设备视图700例示了内容的显示,例如在web浏览器应用的应用窗口中。web浏览器扩展可向web浏览器应用提供附加功能,其中搜索的文档的历史可与web浏览器应用内的选定内容相关联。处理设备视图700包括历史通知702,其是基于web浏览器扩展所执行的处理提供潜在相关文档、链接、先前搜索的网站和先前访问的内容的通知的用户界面元素。包括在历史通知702中的相关内容的示例可以包括但不限于:先前使用web浏览器应用访问的网站,由用户通过关联应用服务访问并且在与用户关联的处理设备上本地访问的内容,以及其他例子。在一个示例中,用户可以选择在web浏览器应用内显示的内容。响应于内容的选择,web浏览器扩展可以执行事件处理以评估所选内容并提供历史通知702。在一些示例中,可以基于选择的内容和在历史通知702中检索到的结果中的至少一个来生成建议/推荐。
图7B示出处理设备视图720,其基于通过示例性web浏览器扩展的处理来提供在web浏览器应用内提供灵感图标722的历史的显示。web浏览器扩展可向web浏览器应用提供附加功能,其中灵感图标722的历史基于当前在web浏览器应用中显示的内容提供内容建议/推荐的历史。处理设备视图700包括灵感图标722的历史,灵感图标722是基于当前显示在web浏览器应用中的内容提供潜在相关文档、链接、先前搜索的网站和先前访问的内容以及建议/推荐的通知的用户界面元素。web浏览器扩展可以执行事件处理以评估在web浏览器应用内显示的当前内容或者内容的当前线程。当前线程可以是用户主动参与的线程。在一个示例中,web浏览器扩展可以实现事件处理(例如API、处理操作、事件控制、监听器)以检测web浏览器应用内的输入焦点。在一些例子中,用户可能有多于一个线程打开。在这样的例子中,用户可以在活动线程之间切换。web浏览器扩展配置为检测线程之间的变化并识别用户正在使用的当前线程。此外,应用中的线程可能会动态更改,例如,当新数据/内容/用户添加到线程时。web浏览器扩展还能够检测示例性web浏览器应用中的线程的更改更新。
图8是利用可以实践本公开的各方面的示例性web浏览器扩展的内容搜索和检索的示例性方法。作为示例,方法800可以由示例性处理设备和/或系统执行,诸如图1-4中所示的那些处理设备和/或系统。在一个例子中,图4的系统400描述了可以用于实现方法800的组件的示例。在示例中,可以在包括至少一个处理器的设备上执行方法800,该处理器被配置为存储和执行操作、程序或指令。然而,方法800不限于这些示例。在至少一个示例中,方法800可以由分布式网络的一个或多个组件(例如,网络服务/分布式网络服务(例如云服务))执行(例如,计算机实现的操作)。在示例中,在方法800中执行的操作可以对应于由执行计算机程序、应用编程接口(API)或机器学习处理以及其他示例的系统和/或服务执行的操作。
方法800开始于提供web浏览器应用的操作802。操作802可以包括提供包括示例性web浏览器扩展(如前所述)的web浏览器应用。在替代示例中,操作802包括显示启动的web浏览器应用以及独立于web浏览器应用获得的启动的web浏览器扩展。在这样的示例中,web浏览器扩展的执行将web浏览器扩展与web浏览器应用集成在一起。web浏览器扩展使至少一个应用服务能够与web浏览器应用交互。
流程进行到操作804,其中输入被接收到web浏览器应用的URL栏中。响应于接收到URL栏中的输入,流程进行到操作806,其中接收到的输入由web浏览器扩展处理。示例性web浏览器扩展可被配置为执行事件处理以检测输入并评估接收到的输入。接收到的输入的处理可以包括执行事件处理以评估接收到的输入(例如,字符、定界符)和与接收到的输入相关联的上下文信号。操作806可以进一步包括检测触发web浏览器应用将输入传递给应用服务的定界符的输入。作为示例,定界符是从由下列组成的组中选择的至少一个:击键,触摸输入,语音输入,手写输入以及使用设备的选择。例如,击键可以是触发web浏览器扩展以将接收到的输入(或下一个接收到的输入)传递给应用服务以供进一步处理的标签键。作为示例,进一步的处理包括请求搜索与接收到的输入相关联的内容的应用服务。
流程进行到操作808,其中应用服务的搜索直接从URL栏中启动。搜索将接收到的输入的处理(操作806)传递给应用服务以基于搜索来检索结果(操作810)。在示例中,web浏览器扩展可将接收到的输入以及与接收到的输入相关联的用户上下文信号传递给应用服务以评估结果数据。在替代示例中,操作808可以包括在本地搜索执行web浏览器应用的处理设备以获得与接收到的输入相关联的内容。
流程可以进行到操作810,其中可以基于搜索来检索结果。在一个示例中,操作810可以包括从与web浏览器扩展相关联的至少一个应用服务检索结果。在替代示例中,操作810可以进一步包括基于执行web浏览器应用的处理设备的本地搜索来检索结果。
操作812可以包括在web浏览器应用内显示检索到的结果。在一个示例中,操作812可以包括在URL栏内显示检索到的结果。显示(操作812)可以包括在执行web浏览器应用的处理设备或与处理设备连接的显示器上显示结果。在一个示例中,操作812可以将检索到的结果包括在URL栏的下拉菜单中。
流程可以进行到操作814,其中通过执行web浏览器应用的处理设备识别对检索结果的至少一个结果的选择。响应于该选择,在web浏览器应用内显示与接收到的选择相关联的内容(例如,文档、文件、链接、数据的一部分)(操作816)。内容的显示(操作816)可以包括在当前标签中显示内容或者在web浏览器应用的新标签中打开内容。
流程可以前进到判定操作818,其中确定是否接收到对接收到的输入的更新。如果未收到接收到的输入的更新,则流程分支NO,并且web浏览器扩展保持活动(并且空闲)以处理随后接收到的输入。在示例中,操作818不限于在内容被选择之后发生。只要web浏览器扩展程序启用并执行,即可监听对接收到的输入的更新。当检测到所接收的输入已经改变时,流程分支为是(YES)并且返回到操作804以处理所接收的输入。
图9是用于利用示例性web浏览器扩展来启动可以实践本公开的各方面的web浏览器应用中的新标签的示例性方法。作为示例,方法900可以由示例性处理设备和/或系统执行,诸如图1-4中所示的那些处理设备和/或系统。在一个例子中,图4的系统400描述了可以用于实现方法900的组件的示例。在示例中,方法900可以在包括至少一个处理器的设备上执行,该处理器被配置为存储和执行操作、程序或指令。然而,方法900不限于这些示例。在至少一个示例中,方法900可以由分布式网络的一个或多个组件(例如,web服务/分布式网络服务(例如,云服务))执行(例如,计算机实现的操作)。在示例中,在方法900中执行的操作可以对应于由执行计算机程序、应用编程接口(API)或机器学习处理的系统和/或服务执行的操作以及其他示例。
方法900开始于提供web浏览器应用的操作902。操作902可以包括提供包括示例性web浏览器扩展(如前所述)的web浏览器应用。在替代示例中,操作902包括显示启动的web浏览器应用以及独立于web浏览器应用获得的启动的web浏览器扩展。在这样的示例中,web浏览器扩展的执行将web浏览器扩展与web浏览器应用集成在一起。web浏览器扩展使至少一个应用服务能够与web浏览器应用对接。
流程可以进行到操作904,其中接收在web浏览器应用内启动新的标签的请求。响应于接收到该请求,流程可以进行到处理接收到的请求的操作906。响应于处理所接收的启动新标签的请求,流程前进到操作908,在该操作处启动新标签。在与面描述的图6A和6B相关的描述中详细描述了新标签的启动。在一个示例中,新标签包括作为集成多个应用服务于web浏览器应用内的记事本特征的暂存器。
图10是利用web浏览器扩展来将接收到的输入处理成可以实践本公开的各方面的web浏览器应用的新标签的示例性方法处理。作为示例,方法1000可以由示例性处理设备和/或系统执行,诸如图1-4中所示的那些处理设备和/或系统。在一个例子中,图4的系统400描述了可以用于实现方法1000的组件的示例。在示例中,方法1000可以在包括至少一个处理器的设备上执行,该处理器被配置为存储和执行操作、程序或指令。然而,方法1000不限于这些示例。在至少一个示例中,方法1000可以由分布式网络的一个或多个组件(例如,web服务/分布式网络服务(例如,云服务))执行(例如,计算机实现的操作)。在示例中,在方法1000中执行的操作可以对应于由执行计算机程序、应用编程接口(API)或机器学习处理的系统和/或服务执行的操作以及其他示例。
方法1000开始于操作1002,其中在web浏览器应用内启动新标签。在与上面描述的图6A和6B相关的描述中详细描述了新标签的启动。在一个示例中,新标签包括作为集成多个应用服务于web浏览器应用内的记事本特征的暂存器。
流程可以进行到操作1004,其中输入被接收到新标签的暂存器中。作为示例,暂存器显示在web浏览器应用的应用窗口中。操作1004可以进一步包括通过由web浏览器扩展执行的事件处理来检测对输入的接收。流程可以进行到操作1006,其中接收到的输入被处理。接收到的输入的处理可以包括执行事件处理以评估接收到的输入(例如,字符、定界符)。接收到的输入的处理(操作1006)可以进一步包括检测接收到的输入中的定界符的至少一个字符,其中定界符是用于由至少一个应用服务处理的触发器。可以在新标签的应用窗口内显示接收到的输入(操作1008)。在方法1000的一个示例中,流程包括响应于检测到定界符的至少一个字符的输入而显示(操作1010)多个定界符的列表。
流程可以进一步前进到操作1012,其中响应于显示处理的输入而接收到动作的选择。在一个示例中,响应于定界符列表的显示,web浏览器应用的用户可以选择定界符(操作1012)。作为另一示例,动作是从由以下各项组成的组中选择的至少一个动作:将处理的输入发送到多个应用服务中的至少一个应用服务的动作,产生到暂存器条目的链接的动作,产生暂存器条目中的文档的动作以及删除处理后的输入的动作。无论web浏览器应用中的动作是什么,流程都可以继续执行(操作1014)所选动作。
图11是用于在web浏览器应用的新标签中用于内容显示的示例性方法,其实现可以实践本公开的各方面的示例性web浏览器扩展。作为示例,方法1100可以由示例性处理设备和/或系统执行,诸如图1-4中所示的那些处理设备和/或系统。在一个例子中,图4的系统400描述了可以用于实现方法1100的组件的示例。在示例中,可以在包括至少一个处理器的设备上执行方法1100,该处理器被配置为存储和执行操作、程序或指令。然而,方法1100不限于这些示例。在至少一个示例中,方法1100可以由分布式网络的一个或多个组件(例如,web服务/分布式网络服务(例如,云服务))执行(例如,计算机实现的操作)。在示例中,在方法1100中执行的操作可以对应于由执行计算机程序、应用编程接口(API)或机器学习处理等的系统和/或服务执行的操作。
方法1100开始于操作1102,其中在web浏览器应用中启动新标签。至少在图6A和6B的描述以及上述方法中进一步详细描述新标签的启动。流程可以继续接收(操作1104)对所启动的新标签内的最近文档列表的选择。作为示例,所启动的新标签可以包括应用窗口,该应用窗口包括查看最近文档的列表的链接。在图6C的描述中已经详细描述了最近文件的列表。
流程可以继续接收(操作1108)对来自显示在新标签中的最近文档的列表中的文档的选择。响应于接收(操作1108)对文档的选择,流程可以进行到操作1110,其中所选择的文档被显示在标签中。在另一示例中,所选择的文档可以显示在web浏览器应用内的另一个启动的标签中。
贯穿本说明书已经参考了“一个示例”或“示例”,这意味着在至少一个示例中包括特定描述的特征、结构或特性。因此,这样的短语的使用可能指的不仅仅是一个例子。此外,所描述的特征、结构或特性可以以任何合适的方式在一个或多个示例中组合。
然而,相关领域的技术人员可以认识到,可以在没有一个或多个具体细节的情况下或者利用其他方法、资源、材料等来实践这些示例。在其他情况下,公知的结构、资源或操作未被示出或详细描述仅仅是为了避免模糊示例的各方面。
虽然范例示例和应用已经被示出和描述,但是应该理解的是,示例不限于上述的精确配置和资源。对于本领域技术人员显而易见的各种修改,变化和变化可以在不脱离所要求保护的示例的范围的情况下在本文公开的方法和系统的布置、操作和细节上进行。

Claims (15)

1.一种计算机实现的方法,包括:
由处理设备提供web浏览器应用,所述web浏览器应用包括使得应用服务能够与所述web浏览器应用相接的扩展;
在所述web浏览器应用的统一资源定位符(URL)栏中接收输入;
基于接收的输入直接从所述URL栏启动对所述应用服务的搜索;
由所述处理设备基于所述搜索来从所述应用服务中检索结果;以及
在与所述处理设备连接的显示器上在所述URL栏内显示从所述应用服务检索的结果。
2.根据权利要求1所述的计算机实现的方法,还包括检测触发所述web浏览器应用将所述输入传递给所述应用服务的定界符的输入。
3.根据权利要求2所述的计算机实现的方法,其中,所述定界符是从由以下构成的组中选择的至少一个:键击、触摸输入、语音输入、手写输入、以及使用设备的选择。
4.根据权利要求1所述的计算机实现的方法,其中,所述显示在所述URL栏的下拉菜单中显示来自所述应用服务的所述结果。
5.根据权利要求4所述的计算机实现的方法,还包括接收从所述结果对结果的选择,并且在web浏览器应用中显示与所选择的结果相对应的文档。
6.根据权利要求4所述的计算机实现的方法,还包括接收对所述输入的更新,并且从所述应用服务检索更新的结果,并且在所述URL栏内显示所述更新的结果。
7.一种系统,包括:
至少一个处理器;以及
存储器,与所述至少一个处理器可操作地连接,其中,所述存储器存储计算机可执行指令,所述计算机可执行指令在被执行时使所述处理器执行:
提供web浏览器应用,所述web浏览器应用包括使应用服务能够与所述web浏览器应用相接的扩展;
在所述web浏览器应用的统一资源定位符(URL)栏中接收输入;
响应于所述输入而直接从所述URL栏启动对所述应用服务的搜索;
基于所述搜索从所述应用服务中检索结果;以及
在与所述系统连接的显示器上在所述URL栏中显示从所述应用服务检索的结果。
8.根据权利要求7所述的系统,其中,所述存储器存储计算机可执行指令,所述计算机可执行指令在被执行时使得所述处理器执行:检测触发所述web浏览器应用将所述输入传递到所述应用服务的定界符的输入,其中,所述定界符是从由以下组成的组中选择的至少一个:键击、触摸输入、语音输入、手写输入、以及使用设备的选择。
9.根据权利要求7所述的系统,其中,所述显示在所述URL栏的下拉菜单中显示来自所述应用服务的所述结果。
10.根据权利要求7所述的系统,其中,所述存储器存储计算机可执行指令,所述计算机可执行指令在被执行时使得所述处理器执行:接收从所述结果对结果的选择,以及在web浏览器应用中显示与所选择的结果相对应的文档。
11.一种计算机实现的方法,包括:
提供web浏览器应用,所述web浏览器应用包括使得多个应用服务能够与所述web浏览器应用相接的扩展;
由处理设备接收在web浏览器应用中启动新标签的请求;
由所述处理设备处理接收的请求;以及
响应于处理所述接收的请求,在与所述处理设备连接的显示器上启动所述web浏览器应用内的所述新标签,其中,所述新标签包括作为记事本特征的暂存器,所述暂存器将所述多个应用服务集成到所述web浏览器应用内。
12.根据权利要求11所述的计算机实现的方法,还包括:将输入接收到所述暂存器中,以及使用所述多个应用服务中的至少一个应用服务来处理接收的输入,以及显示处理的输入。
13.根据权利要求12所述的计算机实现的方法,还包括响应于显示所述处理的输入而接收对动作的选择,其中,所述动作是从由以下组成的组中选择的至少一个:将所述处理的输入发送到所述多个应用服务中的至少一个应用服务的动作,用于生成到暂存器条目的链接的动作,用于从所述暂存器条目生成文档的动作,以及用于删除所述处理的输入的动作。
14.根据权利要求12所述的计算机实现的方法,其中,对所述接收的输入的所述处理还包括检测所述接收的输入中的定界符的至少一个字符,其中,所述定界符是由所述至少一个应用服务进行处理的触发器。
15.根据权利要求11所述的计算机实现的方法,还包括接收对所述新标签中的最近文档列表的选择,并且响应于接收到对所述最近文档列表的所述选择,显示多个最近文档,其中,所述显示所述多个最近文档还包括显示所述多个最近文档中的每一个的摘要。
CN201680073956.1A 2015-12-17 2016-12-08 web浏览器扩展 Active CN108369600B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/972,789 US10845950B2 (en) 2015-12-17 2015-12-17 Web browser extension
US14/972,789 2015-12-17
PCT/US2016/065479 WO2017105975A2 (en) 2015-12-17 2016-12-08 Web browser extension

Publications (2)

Publication Number Publication Date
CN108369600A true CN108369600A (zh) 2018-08-03
CN108369600B CN108369600B (zh) 2022-08-30

Family

ID=57755449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680073956.1A Active CN108369600B (zh) 2015-12-17 2016-12-08 web浏览器扩展

Country Status (4)

Country Link
US (1) US10845950B2 (zh)
EP (1) EP3391250A2 (zh)
CN (1) CN108369600B (zh)
WO (1) WO2017105975A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023178497A1 (en) * 2022-03-22 2023-09-28 Ringcentral, Inc. Systems and methods for handling calls in multiple browser tabs

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10721290B2 (en) 2015-06-05 2020-07-21 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment using executable containers and virtual machines
KR20170100309A (ko) * 2016-02-25 2017-09-04 삼성전자주식회사 음성 인식 제어를 제공하는 전자 장치 및 그 동작 방법
US10649679B2 (en) * 2016-11-23 2020-05-12 Nutanix, Inc. Containerized application extensions in distributed storage systems
US10761911B2 (en) 2017-02-13 2020-09-01 Nutanix, Inc. Asynchronous application interactions in distributed systems
US10949272B2 (en) * 2018-06-14 2021-03-16 Microsoft Technology Licensing, Llc Inter-application context seeding
US11620033B2 (en) * 2019-05-31 2023-04-04 Apple Inc. Systems and methods for proactively identifying and providing an internet link on an electronic device
US11023558B1 (en) * 2020-04-03 2021-06-01 International Business Machines Corporation Executing functions on-demand on a server utilizing web browsers
US20220391178A1 (en) 2021-06-07 2022-12-08 UiPath, Inc. Web-based robotic process automation designer systems and automations for virtual machines, sessions, and containers
US11714872B2 (en) * 2021-06-29 2023-08-01 Microsoft Technology Licensing, Llc Efficiently accessing references to recently used resources
US20230081429A1 (en) * 2021-09-14 2023-03-16 Paypal, Inc. Iframe injection in mobile web browser applications for web browser extension opt-in
US11853524B2 (en) * 2022-04-01 2023-12-26 Capital One Services, Llc Augmented reality extended view

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212548A1 (en) * 2005-03-15 2006-09-21 Microsoft Corporation Method and system for installing applications via a display page
CN103150357A (zh) * 2013-02-25 2013-06-12 北京奇虎科技有限公司 一种实现比对搜索的浏览器、系统和方法
WO2014102750A1 (en) * 2012-12-26 2014-07-03 Yandex Europe Ag Method of and system for furnishing a user of a client device with a network resource
CN104182401A (zh) * 2013-05-22 2014-12-03 腾讯科技(深圳)有限公司 在移动终端浏览器中进行搜索的方法及装置
US20150032736A1 (en) * 2011-02-11 2015-01-29 Sony Corporation Direct service launch on a second display
CN104572848A (zh) * 2014-12-15 2015-04-29 小米科技有限责任公司 基于浏览器的搜索方法及装置
US20150331841A1 (en) * 2011-01-21 2015-11-19 Oudi Antebi Distributed document co-authoring and processing
WO2015184192A1 (en) * 2014-05-28 2015-12-03 Blake Quinn System and method of electronic searching, shopping carts, and advertising

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262732B1 (en) * 1993-10-25 2001-07-17 Scansoft, Inc. Method and apparatus for managing and navigating within stacks of document pages
US5974413A (en) 1997-07-03 1999-10-26 Activeword Systems, Inc. Semantic user interface
US6763376B1 (en) * 1997-09-26 2004-07-13 Mci Communications Corporation Integrated customer interface system for communications network management
US6401085B1 (en) * 1999-03-05 2002-06-04 Accenture Llp Mobile communication and computing system and method
US6356905B1 (en) * 1999-03-05 2002-03-12 Accenture Llp System, method and article of manufacture for mobile communication utilizing an interface support framework
US6546554B1 (en) * 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
US7437312B2 (en) * 2000-08-23 2008-10-14 Bizrate.Com Method for context personalized web browsing
US7308439B2 (en) * 2001-06-06 2007-12-11 Hyperthink Llc Methods and systems for user activated automated searching
WO2003017055A2 (en) * 2001-08-15 2003-02-27 Visa International Service Association Method and system for delivering multiple services electronically to customers via a centralized portal architecture
US7685010B2 (en) * 2003-04-04 2010-03-23 Netsuite, Inc. Concise communication of real-time business information in an enterprise network
US8010523B2 (en) 2005-12-30 2011-08-30 Google Inc. Dynamic search box for web browser
US7587392B2 (en) * 2006-09-15 2009-09-08 Microsoft Corporation Efficient navigation of search results
US7836039B2 (en) * 2006-12-12 2010-11-16 International Business Machines Corporation Searching descendant pages for persistent keywords
US9842097B2 (en) * 2007-01-30 2017-12-12 Oracle International Corporation Browser extension for web form fill
US8196206B1 (en) * 2007-04-30 2012-06-05 Mcafee, Inc. Network browser system, method, and computer program product for scanning data for unwanted content and associated unwanted sites
US8185839B2 (en) * 2007-06-09 2012-05-22 Apple Inc. Browsing or searching user interfaces and other aspects
US7886318B2 (en) * 2007-06-22 2011-02-08 Morega Systems Inc. Set top box with digital rights management for multiple devices and methods for use therewith
US8364694B2 (en) * 2007-10-26 2013-01-29 Apple Inc. Search assistant for digital media assets
US20090287559A1 (en) 2007-12-20 2009-11-19 Michael Chen TabTab
US8607166B2 (en) * 2008-06-06 2013-12-10 Apple Inc. Browsing or searching user interfaces and other aspects
US7949647B2 (en) * 2008-11-26 2011-05-24 Yahoo! Inc. Navigation assistance for search engines
CA2790000C (en) * 2010-02-15 2014-12-16 Research In Motion Limited Methods and apparatus for a comprehensive searching on a mobile device
US10580051B2 (en) 2010-05-18 2020-03-03 Google Llc Background element associated with an application installed in a browser application
US20150207800A1 (en) * 2010-05-18 2015-07-23 Google Inc Systems and methods for enabling access to a web application
US8752047B2 (en) 2010-05-28 2014-06-10 Bromium, Inc. Automated management of virtual machines to process untrusted data based on client policy information
US8434135B2 (en) 2010-06-11 2013-04-30 Microsoft Corporation Creating and launching a web application with credentials
US8756488B2 (en) * 2010-06-18 2014-06-17 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
US8443304B2 (en) * 2010-08-10 2013-05-14 International Business Machines Corporation Conditional modification of browser content
US8810512B2 (en) * 2010-08-30 2014-08-19 Telefonaktiebolaget L M Ericsson (Publ) Methods of launching applications responsive to device orientation and related electronic devices
KR20120067858A (ko) * 2010-12-16 2012-06-26 한국전자통신연구원 모바일 웹 어플리케이션을 네이티브 어플리케이션으로 변환하는 방법 및 이러한 방법을 사용하는 장치
US20150161277A1 (en) 2011-03-14 2015-06-11 Browsium, Inc. Methods and systems for one browser version to use a rendering engine of another browser version for displaying information
US8984414B2 (en) 2011-11-07 2015-03-17 Google Inc. Function extension for browsers or documents
US8914327B2 (en) * 2012-03-16 2014-12-16 Apple Inc. Methods and systems for searching a backup volume
US9135445B2 (en) * 2012-03-19 2015-09-15 Google Inc. Providing information about a web application or extension offered by website based on information about the application or extension gathered from a trusted site
US9887965B2 (en) * 2012-07-20 2018-02-06 Google Llc Method and system for browser identity
US20140047360A1 (en) 2012-08-09 2014-02-13 Google Inc. Background application page architecture for web applications
US11048858B2 (en) 2012-11-21 2021-06-29 Roofoveryourhead Marketing Ltd. Browser extension for the collection and distribution of data and methods of use thereof
KR20140090394A (ko) 2013-01-09 2014-07-17 씨지웹 주식회사 웹페이지에의 응용프로그램 임베디드 서비스 제공 방법 및 시스템
US9288118B1 (en) * 2013-02-05 2016-03-15 Google Inc. Setting cookies across applications
US9311069B2 (en) * 2013-03-13 2016-04-12 Google Inc. Search in application launcher
US9179252B1 (en) * 2013-10-07 2015-11-03 Google Inc. Selecting location-based content
US10264016B2 (en) * 2014-07-10 2019-04-16 Metacert, Inc. Methods, systems and application programmable interface for verifying the security level of universal resource identifiers embedded within a mobile application
US10200824B2 (en) * 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212548A1 (en) * 2005-03-15 2006-09-21 Microsoft Corporation Method and system for installing applications via a display page
US20150331841A1 (en) * 2011-01-21 2015-11-19 Oudi Antebi Distributed document co-authoring and processing
US20150032736A1 (en) * 2011-02-11 2015-01-29 Sony Corporation Direct service launch on a second display
WO2014102750A1 (en) * 2012-12-26 2014-07-03 Yandex Europe Ag Method of and system for furnishing a user of a client device with a network resource
CN103150357A (zh) * 2013-02-25 2013-06-12 北京奇虎科技有限公司 一种实现比对搜索的浏览器、系统和方法
CN104182401A (zh) * 2013-05-22 2014-12-03 腾讯科技(深圳)有限公司 在移动终端浏览器中进行搜索的方法及装置
WO2015184192A1 (en) * 2014-05-28 2015-12-03 Blake Quinn System and method of electronic searching, shopping carts, and advertising
CN104572848A (zh) * 2014-12-15 2015-04-29 小米科技有限责任公司 基于浏览器的搜索方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023178497A1 (en) * 2022-03-22 2023-09-28 Ringcentral, Inc. Systems and methods for handling calls in multiple browser tabs

Also Published As

Publication number Publication date
EP3391250A2 (en) 2018-10-24
US20170177171A1 (en) 2017-06-22
CN108369600B (zh) 2022-08-30
WO2017105975A3 (en) 2017-08-10
US10845950B2 (en) 2020-11-24
WO2017105975A2 (en) 2017-06-22

Similar Documents

Publication Publication Date Title
CN108369600A (zh) web浏览器扩展
CN109154935B (zh) 一种用于分析用于任务完成的捕获的信息的方法、系统及可读存储设备
US10802709B2 (en) Multi-window keyboard
CN105493481B (zh) 自动改变图形用户界面的显示的方法及系统
CN101373431B (zh) 增强型小组件合成平台
US8577960B2 (en) Providing status information for components in a distributed landscape
US9495462B2 (en) Re-ranking search results
US10911389B2 (en) Rich preview of bundled content
CN108369528B (zh) 用于生产力应用的唤回服务的方法、系统和计算机可读介质
CN108292206A (zh) 具有易于使用特征的工作流开发系统
CN108780463A (zh) 社交图的生成和管理
CN109074551A (zh) 被托管的文件的活动馈送
US10901604B2 (en) Transformation of data object based on context
CN108319489A (zh) 应用页面的启动方法、装置、存储介质及电子设备
US20140282217A1 (en) Window grouping and management across applications and devices
WO2017205036A1 (en) Task completion using world knowledge
US11526575B2 (en) Web browser with enhanced history classification
US9424364B2 (en) Integrated context-driven information search and interaction
KR20160125401A (ko) 인라인 및 콘텍스트 인식 쿼리 박스 제공 기법
EP3214827B1 (en) Application session recording and replaying
CN107153498A (zh) 一种页面处理方法、装置和智能终端
WO2017212268A1 (en) Data processing system and data processing method
CN108885535A (zh) 多窗口虚拟键盘
CN109952557A (zh) 分层内容选择
WO2017212269A1 (en) Data processing system and data processing method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant