CN108475200B - 用于在无限滚动图形用户界面中归属滚动事件的系统和方法 - Google Patents
用于在无限滚动图形用户界面中归属滚动事件的系统和方法 Download PDFInfo
- Publication number
- CN108475200B CN108475200B CN201680034837.5A CN201680034837A CN108475200B CN 108475200 B CN108475200 B CN 108475200B CN 201680034837 A CN201680034837 A CN 201680034837A CN 108475200 B CN108475200 B CN 108475200B
- Authority
- CN
- China
- Prior art keywords
- content
- inline frame
- viewport
- offset
- scroll
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0483—Interaction with page-structured environments, e.g. book metaphor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/0485—Scrolling or panning
- G06F3/04855—Interaction with scrollbars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04886—Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本文描述了用于归属滚动事件的系统和方法。所述系统可以向客户端设备提供无限滚动归属脚本。所述脚本可以使得所述客户端设备将页面的嵌入有内容文档的内联框架的尺寸设置为与应用的视口相对应的尺寸,响应于检测到滚动事件而确定第一内容文档末端与第一视口末端之间的第一偏移小于或等于第一预定阈值。所述脚本还可以使得所述客户端设备响应于检测到滚动事件而确定第二内容文档末端与第二视口末端之间的第二偏移大于或等于第二阈值,并响应于所述第一和第二偏移的确定而将所述滚动事件指派给所述内联框架。
Description
相关申请的交叉引用
本申请要求于2016年2月3日提交的标题为“SYSTEMS AND METHODS FORATTRIBUTING A SCROLL EVENT IN AN INFINITE SCROLL GRAPHICAL USER INTERFACE”的美国专利申请No.15/014,795的权益和优先权,于2015年10月26日提交的标题为“SYSTEMSANDMETHODS FOR ATTRIBUTING A SCROLL EVENT IN AN INFINITE SCROLL GRAPHICALUSER INTERFACE”的美国临时申请No.62/246,453的优先权,每个申请的全部内容通过引用合并于此。
技术领域
本公开涉及用于在无限滚动图形用户界面中归属滚动事件的系统和方法。
背景技术
在诸如因特网之类的计算机联网环境中,内容提供方提供内容以在最终用户计算设备上显示。该内容可以链接到与内容提供方相关联的网页。内容可以包括识别提供内容项目的内容提供方的内容。发布方提供的内容可以显示在与该发布方相关联的网页上。
WO 2011/084860A2公开了一种带有显示器和触敏表面的多功能设备,其显示第一查看区,该第一查看区包括第一多个可选择对象。响应于检测到在所述第一多个可选择对象中的对象的激活,该设备将第二查看区覆盖到第一查看区的一部分上,同时保持第一查看区的其他部分的显示。
US 8307278B1公开了一种系统和方法,其允许用户分割Web浏览器屏幕,以便管理被提供用于内联框架并且使用内联框架来管理的多个文档、文档的视图以及Web服务。
Christopher Zimmermann:“Strategies for the Iframe on the iPad Problem(对于Iframe在iPad问题上的策略)”(Magnolia微博)公开了在iOS上的iFrame具有你所设置的尺寸的情形,并且其中的内容能够利用两个手指来滚读。
发明内容
第一方面涉及一种归属(to attribute)应用上的滚动事件的方法,包括:将信息资源页面的第一内联框架的尺寸(dimension)设置为与在其上显示信息资源的应用的视口的尺寸相对应,所述第一内联框架嵌入有至少第一内容文档;监视应用上的滚动事件;响应于检测到滚动事件针对第一内联框架确定第一内容文档的第一内容文档末端与视口的第一视口末端之间的第一偏移小于或等于第一预定阈值;响应于检测到滚动事件针对第一内联框架确定第一内容文档的第二内容文档末端与视口的第二视口末端之间的第二偏移大于或等于第二预定阈值;响应于确定第一偏移小于或等于第一预定阈值并确定第二偏移大于或等于第二预定阈值,将滚动事件指派给第一内联框架;以及响应于确定第一偏移不小于或等于第一预定阈值和确定第二偏移不大于或等于第二预定阈值中的至少一项而将滚动事件指派给信息资源页面。
在一些实施方案中,该方法还可以包括:响应于确定第一偏移不小于或等于第一预定阈值和确定第二偏移不大于或等于第二预定阈值中的至少一项,在信息资源页面中附加第二内联框架,第二内联框架嵌入有至少第二内容文档。该方法还可以包括:将信息资源页面的第二内联框架的尺寸设置为与在其上显示信息资源的应用的视口的尺寸相对应;响应于检测到滚动事件针对第二内联框架确定第二内容文档的第一内容文档末端与视口的第一视口末端之间的第三偏移小于或等于第三预定阈值;响应于检测到滚动事件针对第二内联框架确定第二内容文档的第二内容文档末端与视口的第二视口末端之间的第四偏移大于或等于第四预定阈值;以及响应于确定第三偏移小于或等于第三预定阈值并且确定第四偏移大于或等于第四预定阈值,将滚动事件指派给第二内联框架。该方法还可以包括:响应于确定第三偏移小于或等于第三预定阈值和确定第四偏移大于或等于第四预定阈值中的至少一项,监视应用的滚动事件。该方法还可以包括:确定第二内容文档的尺寸小于视口的尺寸;将第二内联框架的尺寸设置为与内容文档的尺寸相对应;以及响应于将第二内联框架的尺寸设置为与内容文档的尺寸相对应,将滚动事件指派给信息资源页面。该方法还可以包括:确定信息资源页面除了第一内联框架之外不具有另一内联框架;以及响应于确定信息资源页面除了第一内联框架之外不具有另一内联框架,附加第二内联框架,所述第二内联框架嵌入有至少第二内容文档。该方法还可以包括:对于第一内联框架,在将滚动事件指派给信息资源页面之后,监视第一内联框架的第一内容文档的补充内容附加,所述补充内容附加改变第一内容文档的尺寸;其中确定第一偏移还包括响应于检测到补充内容附加,确定第一偏移;并且其中确定第二偏移还包括响应于检测到补充内容附加,确定第二偏移。该方法还可以包括:监视应用的视口的尺寸的变化;以及响应于检测到应用的视口的尺寸的变化,将信息资源页面的第一内联框架的尺寸重置为与应用的视口的尺寸相对应。将信息资源页面的第一内联框架的尺寸设置为与应用的视口的尺寸相对应还可以包括:将信息资源页面的第一内联框架的高度设置为大于或等于应用的视口的高度;以及将信息资源页面的第一内联框架的宽度设置为大于或等于应用的视口的宽度。将滚动事件指派给第一内联框还可以包括:将第一内联框架的可滚动属性指派为可滚动的;并且其中将滚动事件指派给信息资源页面还可以包括将信息资源页面的可滚动属性指派为可滚动的。
至少一个方面涉及一种归属应用上的滚动事件的方法,包括由数据处理系统向客户端设备提供无限滚动归属脚本,所述脚本被配置为在客户端设备上执行以使客户端设备实行根据第一方面的方法。
至少一个方面涉及一种归属应用上的滚动事件的方法。该方法可以包括向客户端设备提供无限滚动归属脚本。脚本可以配置为在客户端设备上执行以使得客户端设备将信息资源页面的第一内联框架的尺寸设置为与在其上显示信息资源的应用的视口的尺寸相对应。第一内联框架可以嵌入有至少第一内容文档。脚本可以配置为在客户端设备上执行以使客户端设备监视应用上的滚动事件。脚本可以配置为在客户端设备上执行以使得客户端设备响应于检测到滚动事件针对第一内联框架确定第一内容文档的第一内容文档末端与视口的第一视口末端之间的第一偏移小于或等于第一预定阈值。脚本可以配置为在客户端设备上执行以使得客户端设备响应于检测到滚动事件针对第一内联框架确定第一内容文档的第二内容文档末端与视口的第二视口末端之间的第二偏移大于或等于第二预定阈值。该脚本可以配置为在客户端设备上执行以使得客户端设备响应于确定第一偏移小于或等于第一预定阈值并确定第二偏移大于或等于第二预定阈值而将滚动事件指派给第一内联框架。该脚本可以配置为在客户端设备上执行以使得客户端设备响应于确定第一偏移不小于或等于第一预定阈值和确定第二偏移不大于或等于第二预定阈值中的至少一项而将滚动事件指派给信息资源页面。
在一些实施方案中,无限滚动归属脚本可以配置为使得客户端设备响应于确定第一偏移不小于或等于第一预定阈值和确定第二偏移不大于或等于第二预定阈值中的至少一项而在信息资源页面中附加第二内联框架。第二内联框架可以嵌入有至少第二内容文档。在一些实施方案中,无限滚动归属脚本可以配置为使得客户端设备将信息资源页面的第二内联框架的尺寸设置为与在其上显示信息资源的应用的视口的尺寸相对应。在一些实施方案中,无限滚动归属脚本可以配置为使得客户端设备响应于检测到滚动事件针对第二内联框架确定第二内容文档的第一内容文档末端与视口的第一视口末端之间的第三偏移小于或等于第三预定阈值。在一些实施方案中,无限滚动归属脚本可以配置为使得客户端设备响应于检测到滚动事件针对第二内联框架确定第二内容文档的第二内容文档末端与视口的第二视口末端之间的第四偏移大于或等于第四预定阈值。在一些实施方案中,无限滚动归属脚本可以配置为使得客户端设备响应于确定第三偏移小于或等于第三预定阈值并确定第四偏移大于或等于第四预定阈值而将滚动事件指派给第二内联框架。在一些实施方案中,无限滚动归属脚本可以配置为使得客户端设备响应于确定第三偏移小于或等于第三预定阈值和确定第四偏移大于或等于第四预定阈值中的至少一项而监视应用的滚动事件。
在一些实施方案中,无限滚动归属脚本可以配置为使得客户端设备确定第二内容文档的尺寸小于视口的尺寸。在一些实施方案中,无限滚动归属脚本可以配置为使得客户端设备将第二内联框架的尺寸设置为与内容文档的尺寸相对应。在一些实施方案中,无限滚动归属脚本可以配置为使得客户端设备响应于将第二内联框架的尺寸设置为与内容文档的尺寸相对应,将滚动事件指派给信息资源页面。
在一些实施方案中,无限滚动归属脚本可以配置为使得客户端设备确定信息资源页面除了第一内联框架之外不具有另一内联框架。在一些实施方案中,无限滚动归属脚本可以配置为使得客户端设备响应于确定信息资源页面除了第一内联框架之外不具有另一内联框架,附加第二内联框架,第二内联框架嵌入有至少第二内容文档。
在一些实施方案中,无限滚动归属脚本可以配置为使得客户端设备对于第一内联框架,在将滚动事件指派给信息资源页面之后,监视第一内联框架的第一内容文档的补充内容附加。补充内容附加可以改变第一内容文档的尺寸。在一些实施方案中,确定第一偏移还可以包括响应于检测到补充内容附加来确定第一偏移。在一些实施方案中,确定第二偏移还可以包括响应于检测到补充内容附加来确定第二偏移。
在一些实施方案中,无限滚动归属脚本可以配置为使得客户端设备监视应用的视口的尺寸的变化。在一些实施方案中,无限滚动归属脚本可以配置为使得客户端设备响应于检测到应用的视口的尺寸的变化,将信息资源页面的第一内联框架的尺寸重置为与应用的视口的尺寸相对应。
在一些实施方案中,将信息资源页面的第一内联框架的尺寸设置为与应用的视口的尺寸相对应还可以包括将信息资源页面的第一内联框架的高度设置为大于或等于应用的视口的高度。在一些实施方案中,将信息资源页面的第一内联框架的尺寸设置为与应用的视口的尺寸相对应还可以包括将信息资源页面的第一内联框架的宽度设置为大于或等于应用的视口的宽度。在一些实施方案中,将滚动事件指派给第一内联框架还可以包括将第一内联框架的可滚动属性指派为可滚动的。在一些实施方案中,将滚动事件指派给信息资源页面还可以包括将信息资源页面的可滚动属性指派为可滚动的。
至少一个方面涉及一种用于归属应用上的滚动事件的系统。所述系统可以包括在一个或多个处理器上执行的内容包含模块、滚动检测模块和滚动归属模块。内容包含模块可以将信息资源页面的第一内联框架的尺寸设置为与在其上显示所述信息资源面的应用的视口的尺寸相对应。第一内联框架可以嵌入有至少第一内容文档。滚动检测模块可以监视应用上的滚动事件。滚动检测模块可以响应于检测到滚动事件针对第一内联框架,确定第一内容文档的第一内容文档末端与视口的第一视口末端之间的第一偏移小于或等于第一预定阈值。滚动检测模块可以响应于检测到滚动事件,针对第一内联框架,确定第一内容文档的第二内容文档末端与视口的第二视口末端之间的第二偏移大于或等于第二预定阈值。滚动归属模块可以响应于确定第一偏移小于或等于第一预定阈值并确定第二偏移大于或等于第二预定阈值而将滚动事件指派给第一内联框架。滚动归属模块可以响应于确定第一偏移不小于或等于第一预定阈值和确定第二偏移不大于或等于第二预定阈值中的至少一项而将滚动事件指派给信息资源页面。
在一些实施方案中,内容包含模块可以响应于确定第一偏移不小于或等于第一预定阈值和确定第二偏移不大于或等于第二预定阈值中的至少一项而在信息资源页面中附加第二内联框架。第二内联框架可以嵌入有至少第二内容文档。在一些实施方案中,内容包含模块可以将信息资源页面的第二内联框架的尺寸设置为与在其上显示信息资源的应用的视口的尺寸相对应。在一些实施方案中,滚动检测模块可以响应于检测到滚动事件针对第二内联框架确定第二内容文档的第一内容文档末端与视口的第一视口末端之间的第三偏移小于或等于第三预定阈值。在一些实施方案中,滚动检测模块可以响应于检测到滚动事件针对第二内联框架确定第二内容文档的第二内容文档末端与视口的第二视口末端之间的第四偏移大于或等于第四预定阈值。在一些实施方案中,滚动归属模块响应于确定第三偏移小于或等于第三预定阈值并且确定第四偏移大于或等于第四预定阈值,将滚动事件指派给第二内联框架。在一些实施方案中,滚动检测模块可以响应于确定第三偏移小于或等于第三预定阈值和确定第四偏移大于或等于第四预定阈值中的至少一项而监视应用的滚动事件。
在一些实施方案中,内容包含模块可以确定第二内容文档的尺寸小于视口的尺寸。在一些实施方案中,内容包含模块可以将第二内联框架的尺寸设置为与内容文档的尺寸相对应。在一些实施方案中,滚动归属模块可以响应于将第二内联框架的尺寸设置为与内容文档的尺寸相对应,将滚动事件指派给信息资源页面。
在一些实施方案中,内容包含模块可以确定信息资源页面除了第一内联框架之外不具有另一内联框架。内容包含模块可以响应于确定信息资源页面除了第一内联框架之外不具有另一内联框架,附加第二内联框架,所述第二内联框架嵌入有至少第二内容文档。
在一些实施方案中,内容包含模块可以对于第一内联框架,在将滚动事件指派给信息资源页面之后,监视第一内联框架的第一内容文档的补充内容附加。补充内容附加可以改变第一内容文档的尺寸。滚动检测模块可以响应于检测到补充内容附加来确定第一偏移。在一些实施方案中,滚动归属模块可以响应于检测到补充内容附加来确定第二偏移。
在一些实施方案中,内容包含模块可以监视应用的视口的尺寸的变化。在一些实施方案中,内容包含模块可以响应于检测到应用的视口的尺寸的变化,将信息资源页面的第一内联框架的尺寸重置为与应用的视口的尺寸相对应。
在一些实施方案中,内容包含模块可以将信息资源页面的第一内联框架的高度设置为大于或等于应用的视口的高度。在一些实施方案中,内容包含模块可以将信息资源页面的第一内联框架的宽度设置为大于或等于应用的视口的宽度。在一些实施方案中,滚动归属模块可以将信息资源页面的第一内联框架的高度设置为大于或等于应用的视口的高度。在一些实施方案中,滚动归属模块可以将信息资源页面的第一内联框架的宽度设置为大于或等于应用的视口的宽度。
应该理解的是,可以以任何方便的形式来实施方面和实施方案。例如,可以通过可以在可以是有形载体介质(例如磁盘)或无形载体介质(例如通信信号)的适当载体介质上承载的适当的计算机程序来实施方面和实施方案。方面也可以使用合适的装置来实施,所述装置可以采用运行计算机程序的可编程计算机的形式。下面详细讨论这些和其它方面和实施方案。前述信息和以下详细描述包括各个方面和实施方案的说明性示例,并且提供用于理解要求保护的方面和实施方案的性质和特征的概述或框架。附图提供了对各个方面和实施方案的说明和进一步理解,并且被结合在本说明书中并构成其一部分。
附图说明
附图不意图按比例绘制。各图中相同的附图标记和标号表示相同的元件。为了清楚起见,可能未在每个图中标记每个部件。图中:
图1是根据说明性实施方案描绘用于在计算机网络环境中的应用上归属滚动事件的环境的一个实施方案的框图;
图2是根据说明性实施方案描绘无限滚动归属系统的一个实施方案的框图;
图3A是根据说明性实施方案的信息资源页面和视口的框图,其示出嵌入在第一内联视图框架中的内容文档的部分,其中滚动事件被归属给该内联框架;
图3B是根据说明性实施方案的在另一个滚动位置的图3A所示的信息资源页面的框图,其中滚动事件被归属给第一内联框架;
图3C是根据说明性实施方案的在另一个滚动位置的图3A所示的信息资源页面的框图,其中滚动事件被归属给信息资源页面;
图3D是根据说明性实施方案的在另一个滚动位置的图3A所示的信息资源页面的框图,其中滚动事件被归属给第二内联框架;
图3E是根据说明性实施方案的在另一个滚动位置的图3A所示的信息资源页面的框图,其中滚动事件被归属给信息资源页面;
图3F是根据说明性实施方案的在另一个滚动位置的图3A所示的信息资源页面的框图,其中滚动事件被归属给第三内联框架;
图4是根据说明性实施方案的描绘归属应用上的滚动事件的方法的流程图;以及
图5是说明根据说明性实施方案的可用于实施本文中所描述和说明的系统和方法的要素的计算机系统的通用架构的框图。
具体实施方式
以下是关于在计算机网络环境中的应用上归属滚动事件的方法、设备和系统的各种相关概念和实施方案的更详细的描述。上面介绍并在下面更详细讨论的各种概念可以以多种方式中的任何一种来实施,因为所描述的概念不限于任何特定的实施方案。
使用无限滚动,可以将额外的内容动态地附加到基于因特网的应用(诸如网络浏览器或本地移动应用)上的相同信息资源页面(例如,网页或应用页面)。例如,当应用的滚动位置接近信息资源页面的末端时,应用可以将来自第三方来源的额外内容附加到相同的信息资源页面并更新信息资源页面的滚动长度。在此示例中,来自各种第三方来源的内容可以使用无限滚动显示在相同的信息资源页面上。从人机交互的角度来看,该技术可以允许网站内容发布方将用户保持在相同的信息资源页面上,而不需要用户导航到其它内容发布方的信息资源页面。无限滚动的一个实施方案可以是使用内联框架。内联框架可以包括另一个信息资源页面的内容。当插入包括来自第三方来源的内容的内联框架时,内容在信息资源页面上呈现的方式可能会出现一些问题,例如,一个页面的内容可能与另一个页面的内容重叠,并且一些原始代码可能没有正常运作,等等。这些问题可能会导致不愉快的用户体验,从而导致用户导航到第三方来源以查看第三方页面的内容。
为了解决这些和其它挑战,本公开提供了用于将滚动事件归属给内联框架或包含内联框架的信息资源页面的系统和方法。信息资源页面可以包括滚动归属脚本,其指定用于嵌入内容文档的每个内联框架将具有一个固定纬度。例如,每个内联框架的高度可以被设置为网页浏览器的视口的高度或计算设备(诸如智能电话或平板电脑)的屏幕的高度。应该认识到,嵌入在每个内联框架内的额外内容的内容文档的长度可以是可变的,但是嵌入框架本身可以具有固定的高度。通过固定附加到信息资源页面的每个内联框架的至少一个纬度,可以保持从各种第三方来源检索的内容文档的原始格式和编程逻辑。
利用滚动归属脚本,当应用检测到滚动事件(例如,onScroll或onTouch)时,应用可以动态地确定是否将滚动事件归属给内联框架或包括内联框架的信息资源页面中的一个。例如,应用可以对于每个内联框架,将嵌入在内联框架内的内容文档的顶部与视口的顶部比较,并且将嵌入的内容文档的底部与视口的底部比较。如果嵌入式内容文档的顶部与视口的顶部之间的偏移小于或等于零,并且如果嵌入的内容文档的底部与视口的底部之间的偏移大于或等于零,则应用可以将滚动事件归属给内联框架,允许嵌入在内联框架内的内容文档滚动。否则,应用可以将滚动事件归属给包含所有内联框架的信息资源页面,从而允许信息资源页面滚动。在视觉上,随着一个内联框架的内容文档的滚动位置接近其末端,可以使整个信息资源页面是可滚动的,直到随后的内联框架在视口内的全视图中为止。从人机交互的角度来看,滚动事件的动态归属的净效应可能是为用户提供来自各种第三方来源的内容之间的无缝体验。因此可以解决与使用内联框架来提供无限滚动相关联的问题,例如与可以在上面讨论的信息资源页面上呈现内容的方式相关联的问题。因此,本公开可以提供解决与如何提供允许将信息呈现给用户并且允许用户以改进的方式与信息交互的技术环境相关联的问题的系统和方法。
至少一个方面涉及一种归属应用上的滚动事件的方法。该方法可以包括向客户端设备提供无限滚动归属脚本。该脚本可以配置为在客户端设备上执行。脚本可以配置为使得客户端设备将信息资源页面的第一内联框架的尺寸设置为与在其上显示信息资源的应用的视口的尺寸相对应。第一内联框架可以嵌入有至少第一内容文档。脚本可以配置为使客户端设备监视应用上的滚动事件。脚本可以配置为使得客户端设备响应于检测到滚动事件而针对第一内联框架确定第一内容文档的第一内容文档末端与视口的第一视口末端之间的第一偏移小于或等于第一预定阈值。脚本可以配置为使得客户端设备响应于检测到滚动事件而针对第一内联框架确定第一内容文档的第二内容文档末端与视口的第二视口末端之间的第二偏移大于或等于第二预定阈值。该脚本可以配置为使得客户端设备响应于确定第一偏移小于或等于第一预定阈值并确定第二偏移大于或等于第二预定阈值而将滚动事件指派给第一内联框架。该脚本可以配置为使得客户端设备响应于确定第一偏移不小于或等于第一预定阈值和确定第二偏移不大于或等于第二预定阈值中的至少一项而将滚动事件指派给信息资源页面。
图1是描绘用于归属应用上的滚动事件的环境的一个实施方案的框图。环境100包括至少一个数据处理系统110。数据处理系统110可以包括至少一个处理器和存储器,即处理电路。存储器存储处理器可执行指令,处理器可执行指令在由处理器执行时使处理器执行本文所述的一个或多个操作。处理器可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其组合。存储器可以包括但不限于能够向处理器提供程序指令的电子、光学、磁性或任何其它存储或传输设备。存储器可以进一步包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器(ROM)、随机存取存储器(RAM)、电可擦除ROM(EEPROM)、可擦除-可编程ROM(EPROM)、闪存、光学介质或处理器可以从其读取指令的任何其它合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。数据处理系统可以包括可以执行各种功能的一个或多个计算设备或服务器。在一些实施方案中,数据处理系统可以包括配置为主持拍卖的广告拍卖系统。在一些实施方案中,数据处理系统不包括广告拍卖系统,而是配置为经由网络105与广告拍卖系统进行通信。
网络105可以包括诸如因特网、本地、宽带、城域或其它区域网络、内联网、卫星网络的计算机网络,诸如语音或数据移动电话通信网络的其它计算机网络,以及它们的组合。系统100的数据处理系统110可以经由网络105例如与至少一个内容提供方计算设备115、至少一个内容发布方计算设备120或至少一个客户端设备125进行通信。网络105可以是在用户计算设备115、数据处理系统110和一个或多个内容源(例如,网络服务器、广告服务器等)之间中继信息的任何形式的计算机网络。例如,网络105可以包括因特网和/或其它类型的数据网络,诸如局域网(LAN)、广域网(WAN)、蜂窝网络、卫星网络或其它类型的数据网络。网络105还可以包括被配置为在网络105内接收和/或传输数据的任何数量的计算设备(例如,计算机、服务器、路由器、网络交换机等)。网络105还可以包括任何数量的硬连线和/或无线连接。例如,用户计算设备115可以与硬连线(例如,经由光缆、CAT5电缆等)到网络105中的其它计算设备的收发器无线地(例如,经由WiFi、蜂窝、无线电等)通信。
内容提供方计算设备115可以包括服务器或其它计算设备,其由内容提供方实体操作以提供用于在客户端设备125处的信息资源上显示的内容项目。由内容提供方计算设备115提供的内容可以采取任何方便的形式。例如,第三方内容可以包括与其它显示的内容有关的内容,并且可以是例如与所显示的内容有关的网站的页面。另外地或替代地,内容可以包括用于在信息资源上显示的第三方内容项目或创意(例如,广告),诸如包括主要内容的网站或网页,例如,由内容发布方计算设备120提供的内容。内容项目也可以显示在搜索结果网页上。例如,内容提供方计算设备115可以提供或成为用于在内容网页(诸如公司的网页,其中由公司提供网页的主要内容)的内容档中显示的内容项目的来源,或用于显示在由搜索引擎提供的搜索结果登录页面上。与内容提供方计算设备115相关联的内容项目可以被显示在除了网页以外的信息资源上,诸如作为智能手机或其它客户端设备125上的应用的执行的一部分而显示的内容。
内容发布方计算设备120可以包括服务器或其它计算设备,其由内容发布实体操作以提供用于经由网络105显示的主要内容。例如,内容发布方计算设备120可以包括提供用于在网页上显示的主要内容的网页操作器。主要内容可以包括除由内容发布方计算设备120提供的内容之外的内容,并且网页可以包括被配置用于显示来自内容提供方计算设备115的第三方内容项目的内容档。例如,内容发布方计算设备120可以操作公司的网站并且可以提供关于该公司的内容以在网站的网页上显示。网页可以包括被配置用于显示第三方内容项目(诸如内容提供方计算设备115的广告)的内容档。在一些实施方案中,内容发布方计算设备120包括操作搜索引擎网站的搜索引擎操作器的搜索引擎计算设备(例如,服务器)。搜索引擎网页(例如,结果或登陆网页)的主要内容可以包括搜索的结果以及诸如来自内容提供方计算设备115的内容项目的显示在内容档中的第三方内容项目。在一些实施方案中,内容发布方计算设备120可以包括用于服务视频内容的服务器。
最终用户计算设备125可以包括被配置为经由网络105进行通信以显示诸如由内容发布方计算设备120提供的内容(例如,主要网页内容或其它信息资源)的数据以及由内容提供方计算设备115提供的内容(例如,被配置为显示在网页的内容档中的第三方内容项目)的计算设备。客户端设备125、内容提供方计算设备115和内容发布方计算设备120可以包括台式计算机、笔记本计算机、平板计算机、智能手机、个人数字助理、移动设备、消费者计算设备、服务器、客户端、数字录像机、电视机顶盒、视频游戏控制台或被配置为经由网络105进行通信的任何其它计算设备。最终用户计算设备125可以是通信设备,最终用户可以通过该通信设备提交接收内容的请求。请求可以是对搜索引擎的请求,并且请求可以包括搜索查询。在一些实施方案中,请求可以包括访问网页的请求。
内容提供方计算设备115、内容发布方计算设备120和最终用户计算设备125可以包括处理器和存储器,即处理电路。存储器存储机器指令,机器指令在由处理器执行时使处理器执行本文所述的一个或多个操作。处理器可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其组合。存储器可以包括但不限于能够向处理器提供程序指令的电子、光学、磁性或任何其它存储或传输设备。存储器可以进一步包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器(ROM)、随机存取存储器(RAM)、电可擦除ROM(EEPROM)、可擦除-可编程ROM(EPROM)、闪存、光学介质或处理器可以从其读取指令的任何其它合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。
内容提供方计算设备115、内容发布方计算设备120和最终用户计算设备125还可以包括一个或多个用户接口设备。通常,用户接口设备是指任何通过生成感觉信息(例如,在显示器上的可视呈现、一个或多个声音等)向用户传达数据和/或将从用户接收的感觉信息转换成电子信号(例如,键盘、鼠标、指示设备、触摸屏显示器、麦克风等)的电子设备。根据各种实施方案,一个或多个用户接口设备可以在内容提供方计算设备115、内容发布方计算设备120和最终用户计算设备125的外壳内部(例如,内置显示器、麦克风等),或者在内容提供方计算设备115、内容发布方计算设备120和最终用户计算设备125的外壳外部(例如,连接到用户计算设备115的监视器、连接到用户计算设备115的扬声器等)。例如,内容提供方计算设备115、内容发布方计算设备120和最终用户计算设备125可以包括电子显示器,其使用从一个或多个内容来源和/或经由网络105从数据处理系统110接收的网页数据可视地显示网页。在一些实施方案中,内容放置活动管理器或第三方内容提供方可以经由内容提供方计算设备115与数据处理系统110进行通信。在一些实施方案中,内容提供方可以经由显示在内容提供方计算设备115的用户接口设备上的用户接口来与数据处理系统110进行通信。
数据处理系统110可以包括至少一个服务器。例如,数据处理系统110可以包括位于至少一个数据中心或服务器群中的多个服务器。在一些实施方案中,数据处理系统110包括内容放置系统。数据处理系统110可以包括至少一个内容请求模块130、至少一个内容选择模块135、至少一个脚本提供方模块140和至少一个数据库145。内容项目选择130、内容选择模块135和脚本提供方模块140每个都可以包括至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、电器或其它逻辑设备,诸如可编程逻辑阵列,其被配置为经由网络105与数据库145和其它计算设备(例如,内容提供方计算设备115、内容发布方计算设备120或客户端设备125)通信。
内容请求模块130、内容选择模块135和脚本提供方模块140可以包括或执行至少一个计算机程序或至少一个脚本。内容请求模块130、内容选择模块135和脚本提供方模块140可以是分离的组件、单个组件或数据处理系统110的一部分。内容请求模块130、内容选择模块135和脚本提供方模块140可以包括软件和硬件的组合,诸如配置为执行一个或多个脚本的一个或多个处理器。
数据处理系统110还可以包括一个或多个内容储存库或数据库145。数据库145可以在数据处理系统110本地。在一些实施方案中,数据库145可以远离数据处理系统110,但是可以经由网络105与数据处理系统110通信。数据库145可以包括网页、内容项目和无限滚动归属脚本等,以便服务于客户端设备125。在一些实施方案中,网页、网页的部分和内容项目可以包括图3A至图3F中说明性描绘的那些。下面将提供数据库145的内容的额外细节。
内容请求模块130可以从客户端设备125接收对内容的请求。对内容的请求可以包括对包括一个或多个内联框架的信息资源页面(例如,应用的网页或页面)的请求、对内容项目的请求、或者对要嵌入在信息资源页面的内联框架之一中的内容文档的请求等等。对内容的请求可以包括信息资源页面、内容文档或内容项目的地址或标识符。例如,对内容的请求可以包括指向诸如网页的特定资源的统一资源定位符(URL)(例如,“https://www.example.com/homepage.html”)。对内容文档的请求的URL可以包括与信息资源的URL不同的主机页面。例如,信息资源页面的URL可以是“https://www.example_host.com/index.html”,但是内容文档的URL可以是“http://www.example_thirdparty.com/article1.html”。在一些实施方案中,内容请求模块130可以接收对信息资源页面的请求,其可以包括指示对无限滚动归属脚本的请求的指示符。例如,对信息资源页面的请求可以包括含义指示符的报头,指示符指定内容请求模块130将无限滚动归属脚本连同信息资源页面一起发送到客户端设备125。在一些实施方案中,内容请求模块130可以随后并重复地接收对嵌入到另一个内联框架中的内容文档的另一个请求。在一些实施方案中,信息资源页面可以包括插入到信息资源页面的脚本中的无限滚动归属脚本。在一些实施方案中,信息资源页面可以包括用于检索要插入到信息资源页面中的无限滚动归属脚本的脚本。
内容选择模块135可以确定要传输到客户端设备125的内容。内容选择模块135可以识别内容请求中包括的信息资源页面、内容文档和内容项目的地址或标识符。内容选择模块135可以访问数据库145并选择由地址或标识符识别的信息资源页面、内容文档或内容项目。内容选择模块135可以向内容提供方115或内容发布方120传输访问、检索或以其它方式接收由地址或标识符识别的内容文档的请求。内容选择模块135可以将由地址或标识符识别的内容文档传输或转发给客户端设备125。例如,数据处理系统110可以从客户端设备125接收对要嵌入到信息资源页面的内联框架中的内容文档的请求。该请求可以包括指向内容发布方120中的一个的地址。在这个示例中,内容选择模块135可以将对内容文档的请求转发给相应的内容发布方115。在从相应的内容发布方115接收到内容文档后,内容选择模块135可以将内容文档转发给发出原始请求的客户端设备125。
在一些实施方案中,内容选择模块135可以识别请求的类型。在一些实施方案中,内容选择模块135可以基于从客户端设备125接收的对内容的请求来确定是否传输无限滚动归属脚本。内容选择模块135可以确定请求的类型是否与适合传输无限滚动归属脚本的请求相对应。例如,内容选择模块135可以确定客户端设备125已经接收到的或者要发送给客户端设备125的信息资源页面是否具有无限滚动能力。在该示例中,如果信息资源页面已经指定了无限滚动,则内容选择模块135可以传输无限滚动归属脚本。在一些实施方案中,内容选择模块135可以从广告拍卖系统接收内容文档或内容项目,广告拍卖系统可以基于广告拍卖选择用于显示的内容。广告拍卖系统可以基于广告拍卖参数(诸如投标值、广告大小、点击率(CTR)、每千次曝光成本(CPM)和曝光率等)从多个广告中选择广告。
脚本提供方模块140可以将内容传输到客户端设备125。传输到客户端设备125的内容可以至少包括信息资源页面和无限滚动归属脚本。在一些实施方案中,信息资源页面可以包括或被配置为包括一个或多个内联框架,其中每个内嵌有至少一个内容文档。无限滚动归属脚本可以包括计算机可执行指令。计算机可执行指令可以包括诸如超文本标记语言(HTML)、可扩展超文本标记语言(XHTML)、可扩展标记语言(XML)、层叠样式表(CSS)和JavaScript等的脚本。计算机可执行指令可以由客户端设备125的应用执行,例如使得客户端设备传输由内容请求模块130接收的对内容的请求的应用。应用可以包括例如因特网浏览器、移动应用或能够读取和执行计算机可执行指令的任何其它计算机程序。简而言之,计算机可执行指令在由客户端设备125的处理器执行时可以使得客户端设备的应用:(a)将信息资源页面的第一内联框架的尺寸设置为与在其上显示所述信息资源页面的应用的视口的尺寸相对应;(b)监视应用上的滚动事件;(c)响应于检测到滚动事件针对第一内联框架确定第一内容文档的第一内容文档末端与视口的第一视口末端之间的第一偏移小于或等于第一预定阈值;(d)响应于检测到滚动事件针对第一内联框架确定第一内容文档的第二内容文档末端与视口的第二视口末端之间的第二偏移大于或等于第二预定阈值;(e)响应于确定第一偏移小于或等于第一预定阈值并确定第二偏移大于或等于第二预定阈值,将滚动事件指派给第一内联框架;以及(f)响应于确定第一偏移不小于或等于第一预定阈值和确定第二偏移不大于或等于第二预定阈值中的至少一项而将滚动事件指派给信息资源页面。关于无限滚动归属脚本的功能的额外细节在本文中参照图2和图3A至图3F提供。
图2是根据说明性实施方案描绘无限滚动归属系统200的一个实施方案的框图。无限滚动归属系统200可以由计算设备的一个或多个处理器(诸如下面在图5中描述的处理器)运行或以其它方式执行。无限滚动归属系统200可以包括应用205、信息资源页面210和无限滚动归属脚本225。应用205可以包括例如因特网浏览器、移动应用、或能够执行或以其它方式调用计算机可执行指令的任何其它计算机程序,诸如信息资源页面210、一个或多个内联框架215A-N、一个或多个内容文档220A-N和无限滚动归属脚本225中包括的计算机可执行指令。信息资源页面210可以包括一个或多个内联框架215A-N(例如,HTML5的iframe)。一个或多个内联框架215A-N中的每一个都可以嵌入至少一个内容文档220A-N。信息资源页面210可以连同无限滚动归属脚本225一起由应用205接收。无限滚动归属脚本225可以包括一个或多个模块,诸如内容包含模块230、滚动检测模块235和滚动归属模块240。
参照图3A至图3F,图3A至图3F中的每一个都是根据说明性实施方案的各自描绘用于归属应用上的滚动事件的视口300A-F的显示器。在图3A至图3F所示的示例中,图3A至图3F各包括三个内联框架215A-C和视口300。三个内联框架215A-C中的每一个可以嵌入有相应的内容文档220A-C。每个内联框架215A-C的尺寸可以设置为至少与视口300一样大的尺寸。例如,内联框架215A-C的高度可以设置为大于视口300的高度的高度,如图3A至图3F所示。相反,内联框架215A-C的宽度可以设置为与视口300相同的宽度,如图3A至3F所示。在一些实施方案中,内联框架215A-C的尺寸可以设置为小于视口300的尺寸。例如,如果嵌入在内联框架215A-C中的内容文档220A-C的尺寸之一小于视口300的相应尺寸,则可以将相应内联框架215A-C的高度和宽度设置为相应内容文档220A-C的高度和宽度。视口300可以包括信息资源页面210的通过应用205可见的部分。例如,视口300可以包括网页的通过因特网浏览器(例如,应用205)可视的区域(例如,如虚线所示的信息资源页面210或内容文档220A-C)。视口300可以显示信息资源页面210的任何通过应用205可见的部分,包括嵌入在相应内联框架215A-C中的内容文档220A-C。应用205的视口300可以通过在应用205上滚动来调整、移位或以其它方式改变。在一些实施方案中,应用205的滚动特征可以是垂直的、水平的或二者,并且沿信息资源页面210的相应的轴线移动。可以通过重新调整应用205的大小来调整或以其它方式修改视口300的尺寸。在图3A至图3F所示的示例中,信息资源210的滚动轴线和三个内联框架215A-C的长度可以是垂直的。
简而言之,可以基于内容文档220A-C相对于视口300的位置将滚动事件归属给内联框架215A-C之一或信息资源页面210。例如,从视觉角度来看,当内联框架215A-C之一至少在高度上占据整个视口300时,可以将滚动事件归属给嵌入在相应内联框架215A-C中的内容文档220A-C。将滚动事件归属给内联框架215A-C允许在内容文档220A-C自身上滚动,如图3A、图3B、图3D和图3F所示。当向下滚动时,内容文档220A-C的下端接近视口300的下端,滚动事件的归属可以从内联框架215A-C改变成信息资源页面210,从而将整个信息资源页面210与内联框架215A-C一起向下滚动,如图3C和图3E所示。从人机交互的角度来看,在信息资源页面210和内联框架215A-C之间来回切换滚动事件的归属可以允许在嵌入在相应内联框架215A-C中的内容文档220A-C上的额外内容之间的无缝过渡。下面详细描述用于在应用205上归属滚动事件的编程逻辑。
再次参照图2配合图3A至图3F,内容包含模块230可以包括使得客户端设备125从数据处理系统110接收用于信息资源页面210的内容的指令。来自数据处理系统110的内容可以至少包括信息资源页面210、一个或多个内容文档220A-N、以及内容项目等等。在一些实施方案中,内容包含模块230可以使客户端设备125将第一内联框架215A实例化或以其它方式附加到信息资源页面210上,以将至少第一内容文档220A嵌入到第一内联框架215A中。例如,为了附加第一内联框架215A并将第一内容文档220A嵌入到第一内联框架215A中,内容包含模块230可以将HTML5标记“<iframe src=“https://example.com”></iframe>”插入到信息资源页面210中。在另一示例中,使用JavaScript,内容包含模块230可以调用“document.createElement(<inline_frame>)”函数以将第一内联框架215A作为文档对象模型(DOM)节点实例化并附加到信息资源页面210的DOM树中。在这个示例中,内容包含模块230可以通过调用“document.getElementbyID(<inline_frame>).src=“https://example.com”来嵌入第一内容文档220A。在一些实施方案中,内容包含模块230可以使得客户端设备125将信息资源页面210上的预先存在的内容嵌入到第一内联框架215A中。例如,如果信息资源页面210包括与任何内联框架215A-N分开的具有文本和图像的主要内容,则内容包含模块230可以将预先存在的主要内容从信息资源页面210移动,将预先存在的内容作为内容文档220A嵌入到第一内联框架215A中,并且从信息资源页面210中去除预先存在的主要内容。
在一些实施方案中,内容包含模块230可以使得客户端设备125将第二内联框架215B附加到信息资源页面210。第二内联框架215B可以嵌入有第二内容文档220B。在一些实施方案中,内容包含模块230可以使客户端设备125确定信息资源页面210是否除了第一内联框架215A之外不具有另一内联框架。在一些实施方案中,响应于确定信息资源页面210除了第一内联框架215A之外不具有另一内联框架,内容包含模块230可以使客户端设备125附加第二内联框架215B。在一些实施方案中,内容包含模块230可以使得客户端设备125响应于接收到另一内容文档225B而将第二内嵌框215B附加到信息资源页面210。例如,如果客户端设备125从数据处理系统110接收到另一个内容文档220B,则内容包含模块230可以在信息资源页面210中实例化另一个内联框架215B-N,并将内容文档220B-N嵌入到相应的内联框架215B-N中。内容包含模块230可以使得客户端设备125将一个或多个内联框架(诸如第三内联框架215C)重复并动态地附加到信息资源210。
在一些实施方案中,内容包含模块230可以使客户端设备125监视嵌入到相应内联框架215A-N中的预先存在的内容文档215A-N的补充内容附加。在一些实施方案中,内容包含模块230可以使得客户端设备125将补充内容附加附加到嵌入在内联框架215A-N中的内容文档220A-N上。例如,如果客户端设备125接收到要附加到嵌入在第一内联框架215A中的内容文档220A的末端的在线广告,则内容包含模块230可以将在线广告检测为补充内容附加,并将在线广告附加到内容文档220A的末端。
内容包含模块230可以包括用于使得客户端设备125将信息资源页面210的第一内联框架215A的尺寸设置为与在其上显示信息资源页面210的应用205的视口300的尺寸相对应的指令。应用的视口300的尺寸单位可以是像素、缩放像素、公制或英制单位等等。内容包含模块230可以包括使客户端设备125确定或识别应用的视口300的尺寸的指令。例如,内容包含模块230可以调用JavaScript函数“getViewportsize()”来检索视口300的大小。替代地,内容包含模块230可以使用HTML元标签“viewport”并使用“device-height”和“device-width”值来识别视口300的尺寸。在一些实施方案中,内容包含模块230可以包括用于使得客户端设备125将信息资源210的第一内联框架215A的尺寸设置为大于视口300的尺寸的尺寸的指令。在一些实施方案中,内容包含模块230可以包括用于使得客户端设备125将信息资源210的第一内联框架215A的高度设置为大于或等于视口300的高度的高度的指令。在一些实施方案中,内容包含模块230可以包括用于使得客户端设备125将信息资源210的第一内联框架215A的宽度设置为大于或等于视口300的宽度的宽度的指令。例如,已经将视口300的大小识别为1920×1080,则内容包含模块230可以将第一内联框架215A的尺寸设置为1920×1300。内容包含模块230可以包括使得客户端设备125将剩余内联框架215B-N的尺寸设置为与第一内联框架215A相同的尺寸的指令,如图3A至图3F所示。在一些实施方案中,内容包含模块230可以包括用于使得客户端设备125将剩余内联框架215B-N的尺寸设置为大于第一内联框架215A的尺寸的尺寸的指令。
在一些实施方案中,内容包含模块230可以包括用于使得客户端设备125确定或者识别将被嵌入到内联框架215A-N中的内容文档220A-N的大小的指令。在一些实施方案中,内容包含模块230可以包括使得客户端设备125将内容文档220A-N的尺寸与视口300的尺寸进行比较的指令。在一些实施方案中,响应于内容文档220A-N的尺寸与视口300的尺寸的比较,内容包含模块230可以将具有嵌入内容文档220A-N的相应内联框架215A-N的尺寸设置为内容文档220A-N的尺寸。例如,如果要嵌入在第二内联框架215B中的内容文档220B的高度小于视口300的高度,则内容包含模块230可以将第二内联框架215B的高度设置为内容文档220B的高度。
滚动检测模块235可以包括使客户端设备125监视应用205上的滚动事件的指令。在一些实施方案中,滚动检测模块235可以包括使客户端设备125检测或以其它方式监听滚动事件的指令。滚动事件可以包括,例如,“onScroll”或“onTouch”事件处理程序或监听程序。例如,如果客户端设备125包括触摸显示器,则滚动检测模块235可以检测“onTouch”事件作为应用205上的滚动事件。在一些实施方案中,滚动检测模块235可以包括响应于检测到滚动事件而使客户端设备125执行或运行其它指令的指令。例如,滚动检测模块235可以在“onScroll”或“onTouch”事件监听程序检测到滚动事件时调用函数。在一些实施方案中,滚动检测模块235可以包括使客户端设备125通过节制(throttling)来处理滚动事件的指令。例如,一个客户端设备125接收一个滚动事件,滚动检测模块235可以包括使得客户端设备125在经过预定时间帧(例如,4到140ms)之前不处理滚动事件的指令。
滚动检测模块235可以包括使得客户端设备125响应于检测到滚动事件而针对第一内联框架215A确定第一内容文档220A的第一内容文档末端与视口300的第一视口末端之间的第一偏移小于或等于第一预定阈值的指令。第一预定阈值的测量单位可以是像素、缩放像素、公制或英制单位。基于视口300的百分比或比率,第一预定阈值可以在从零到任意数字的范围内。例如,第一预定阈值可以在视口300的高度的0%至33%的范围内。第一预定阈值可以是固定的或变化的。在一些实施方案中,滚动检测模块235可以包括用于使得客户端设备125响应于检测到滚动事件而识别或获得第一内容文档220A的第一内容文档末端的指令。第一内容文档220A的第一内容文档末端可以是例如第一内容文档220A的顶部或左端上的坐标或位置。例如,滚动检测模块235可以调用“<element>.offsetTop”或“<element>.offsetLeft”的JavaScript属性来识别第一内容文档220A的顶端。在一些实施方案中,滚动检测模块235可以包括用于使得客户端设备125响应于检测到滚动事件而识别或获得视口300的第一视口末端的指令。第一视口末端可以是例如视口300的顶端或左端。例如,滚动检测模块235可以调用“window.pageYOffset”或“window.pageXOffset”的JavaScript属性来获取视口300的顶部或左侧大小坐标。在一些实施方案中,滚动检测模块235可以包括用于使得客户端设备125比较第一内容文档220A的第一内容文档末端和视口300的第一视口末端的指令。滚动检测模块235可以包括用于使得客户端设备125计算或确定第一内容文档末端与第一视口末端之间的差异或偏移并且将差异或偏移与第一预定阈值进行比较的指令。
滚动检测模块235可以包括使得客户端设备125响应于检测到滚动事件而针对第一内联框架215A确定第一内容文档220A的第二内容文档末端与视口300的第二视口末端之间的第二偏移大于或等于第二预定阈值的指令。第二预定阈值的测量单位可以是像素、缩放像素、公制或英制单位。基于视口300的百分比或比率,第二预定阈值可以在从零到任意数字的范围内。例如,第二预定阈值可以在视口300的高度的0%至33%的范围内。第二预定阈值可以是固定的或变化的。在一些实施方案中,滚动检测模块235可以包括用于使得客户端设备125响应于检测到滚动事件而识别或获得第二内容文档220A的第二内容文档末端的指令。第一内容文档220A的第二内容文档末端可以是例如第一内容文档220A的底部或右端上的坐标或位置。
例如,滚动检测模块235可以调用“<element>.offsetTop”加上第一内容文档220A的高度或“<element>.offsetLeft”的JavaScript属性以识别第一内容文档220A的顶端。在一些实施方案中,滚动检测模块235可以包括用于使得客户端设备125响应于检测到滚动事件而识别或获得视口300的第二视口末端的指令。第一视口末端可以是例如视口300的底部或右端。例如,滚动检测模块235可以调用“window.pageYOffset”加上视口高度或“window.pageXOffset”加上视口宽度的JavaScript属性以获得视口300的底部或右端坐标。在一些实施方案中,滚动检测模块235可以包括用于使得客户端设备125比较第一内容文档220A的第二内容文档末端和视口300的第二视口末端的指令。滚动检测模块235可以包括用于使得客户端设备125计算或确定第二内容文档末端与第二视口末端之间的差异或偏移并且将差异或偏移与第二预定阈值进行比较的指令。
在一些实施方案中,内容包含模块230结合滚动检测模块235可以包括指令,用于使得客户端设备125响应于确定第一偏移不小于或等于第一预定阈值和确定第二偏移不大于或等于第二预定阈值中的至少一个,在信息资源页面210中附加第二内联框架215B。第二内联框架215B可以嵌入有至少第二内容文档220B。第二内容文档220B可以来自与第一内容文档220A或信息资源页面210不同的第三方来源。例如,当确定第一偏移不小于或等于第一预定阈值并且第二偏移不大于或等于第二预定阈值时,滚动检测模块235可以调用内容包含模块230的指令。内容包含模块230继而可以请求额外内容,并将接收到的额外内容作为第二内容文档220B嵌入到第二内联框架215B中。在一些实施方案中,内容包含模块230结合滚动检测模块235可以包括用于使客户端设备125响应于确定信息资源页面的滚动位置在信息资源页面的尺寸的预定的阈值分数或百分比的范围内而进行附加的指令。例如,如果滚动位置在信息资源页面的高度的75%与95%之间,则内容包含模块230可以将第二内联框架215B附加到信息资源页面210上,传输对额外内容的请求,并且将接收到的内容文档220B嵌入到第二内联框架215中。内容包含模块230结合滚动检测模块235可以包括用于使得客户端设备125为一个或多个内联框架215C-N重复并动态地执行该功能的指令。
滚动归属模块240可以包括使得客户端设备125响应于确定第一偏移小于或等于第一预定阈值并确定第二偏移大于或等于第二预定阈值而将滚动事件指派给第一内联框架215A的指令。在一些实施方案中,滚动归属模块240可以包括使得客户端设备125初始地将滚动事件设置到信息资源210的指令。在一些实施方案中,滚动归属模块240可以包括用于使得客户端设备125响应于确定第一偏移小于或等于第一预定阈值并确定第二偏移大于或等于第二预定阈值而将滚动事件归属给第一内联框架215A的指令。在一些实施方案中,滚动归属模块240可以包括使得客户端设备125将第一内联框架215A的可滚动属性指派为可滚动的指令。例如,在确定第一偏移大于零并且第二偏移大于零时,滚动归属模块240可以将第一内联框架215A的可滚动属性设置为真,由此允许嵌入第一内联框架215A内的第一内容文档220A滚动。
该滚动归属模块240可以包括使得客户端设备125响应于确定第一偏移不小于或等于第一预定阈值和确定第二偏移不大于或等于第二预定阈值中的至少一项而将滚动事件指派给信息资源页面210的指令。在一些实施方案中,滚动归属模块240可以包括使得客户端设备125初始地将滚动事件设置到第一内联框架215A的指令。在一些实施方案中,滚动归属模块240可以包括用于使得客户端设备125响应于确定第一偏移小于或等于第一预定阈值并确定第二偏移大于或等于第二预定阈值而将滚动事件指派给信息资源页面210的指令。在一些实施方案中,滚动归属模块240可以包括使得客户端设备125将信息资源页面210的可滚动属性指派为可滚动的指令。例如,在确定第一偏移大于零并且第二偏移小于零时,滚动归属模块240可以将信息资源页面210的可滚动属性设置为真,由此允许整个信息资源页面210与应用205的滚动位置一起移动。
在一些实施方案中,滚动归属模块240结合内容包含模块230可以包括用于使得客户端设备125响应于确定第二内容文档220B的尺寸小于视口300的尺寸而将滚动事件指派给信息资源页面的指令。在一些实施方案中,滚动归属模块240结合内容包含模块230可以包括使客户端设备125不将第二内联框架215B的可滚动属性指派为可滚动的指令。例如,如果嵌入第二内联框架215B中的第二内容文档220B的高度和宽度是1240×500并且视口300的高度和宽度是1240×720,则滚动归属模块240可以将滚动事件指派给信息资源页面210,即使在视觉上滚动位于第二内联框架215B上并且整个第二内联框架215B完全在视口300的视图中。
在一些实施方案中,滚动检测模块235和滚动归属模块240结合内容包含模块230可以包括响应于检测到补充内容附加使客户端设备125确定第一偏移小于或等于第一预定阈值并且第二偏移大于或等于第二预定阈值的指令。例如,在确定额外内容已被附加到嵌入在第一内联框架215A中的第一内容文档220A时,滚动检测模块235可以确定第一偏移小于或等于零并且第二偏移大于或等于200个像素。进而,滚动归属模块240可以基于确定将滚动事件指派给第一内联框架215A或信息资源页面210。
应当理解的是,滚动检测模块235和滚动归属模块240可以包括使得客户端设备125使用相同或不同的阈值来确定除了第一内联框架215A之外的每个内联框架215B-N的偏移并且相应地指派滚动事件的指令,如图3C至图3F所示。例如,滚动检测模块235可以包括使得客户端设备125响应于检测到滚动事件针对第二内联框架确定第二内容文档220B的第一内容文档末端与视口300的第一视口末端之间的第三偏移小于或等于第三预定阈值的指令。滚动检测模块235还可以包括使得客户端设备125响应于检测到滚动事件针对第二内联框架确定第二内容文档220B的第二内容文档末端与视口300的第二视口末端之间的第四偏移大于或等于第四预定阈值的指令。滚动归属模块240可以包括使得客户端设备125响应于确定第三偏移小于或等于第三预定阈值并确定第四偏移大于或等于第四预定阈值而将滚动事件指派给第二内联框架215B的指令。这些功能可以针对随后的内联框架215C-N重复。
在一些实施方案中,滚动检测模块可以包括使得客户端设备125响应于确定第三偏移小于或等于第三预定阈值和确定第四偏移大于或等于第四预定阈值中的至少一项而监视应用的滚动事件的指令。在一些实施方案中,滚动检测模块235和滚动归属模块240可以确定相应内容文档220A-N的内容文档末端与归属有滚动事件的最后的内联框架215A-N的视口300的视口末端之间的偏移。例如,如果归属有滚动事件的最后的内联框架215A-N是第二内联框架215B,则滚动检测模块235可以包括使得客户端设备125确定第二内联框架215B的偏移的指令。
在一些实施方案中,无限滚动归属脚本225的内容包含模块230可以使用以下伪码来实施:
在一些实施方案中,无限滚动归属脚本225的滚动检测模块235和滚动归属模块240可以使用以下伪码来实施:
再次参考图3A至图3F,在结合图2描述的无限滚动归属系统200的情况下,内容包含模块230可以将三个内联框架215A-C的高度各自设置为大于视口300的高度的高度,并且将三个内联框架215A-C的宽度各自设置为视口300的宽度的宽度。如图3A至图3F所示,三个内联框架215A-C中的每一个都可以被设置为相同的高度和宽度。在图3A中,内容包含模块230可以将第一内容文档220A嵌入到第一内联框架215A中,并且将第二内容文档220B嵌入到第二内联框架215B中。滚动归属模块240可以初始地将滚动事件的归属设置为第一内联框架215A。内容包含模块230可以实例化第三内联框架215C,将第三内联框架215C附加到信息资源210上而不嵌入第三内容文档220C。
接着参照图3B,图3B描绘了在图3A的滚动位置下方的滚动位置处的内容文档220A。与图3A中一样,在图3B中,信息资源210的滚动位置没有改变,因为滚动归属模块240可能已经将滚动事件的归属设置到第一内联框架215,从而允许内容文档220A在内联框架215内滚动。滚动检测模块235可以使用事件处理程序或监听程序间歇性地监视应用205上的滚动事件。至少对于这些检测中的一些,滚动检测230可以确定是否第一内容文档220A的顶端与视口300的顶端之间的偏移大于零,并且第一内容文档220A的底端与视口300的底端之间的偏移小于零。
接着参照图3C,图3C描绘了处于比图3A和图3B的滚动位置更低的滚动位置处的信息资源205。在图3C中,当第一内容文档220A的底端朝向第一内联框架215A的底端渐渐移动时,滚动检测模块235可能已经确定第一内容文档220A的顶端与视口300的顶端之间的偏移大于零,并且第一内容文档220A的底端与视口300的底端之间的偏移小于零。基于这些比较,滚动归属模块240可能已经将滚动事件指派给信息资源页面210而不是第一内联框架215A,由此允许信息资源页面210向上滚动。此外,嵌入有第二内容文档220B的第二内联框架215B的顶端可以移动到视口300的范围或视图中。由于滚动事件并未归属给第二内联框架215B,所以嵌入的第二内容文档220B的滚动位置不移动。
接着参照图3D,图3D描绘了现在归属有滚动事件的第二内联框架215B,其处于比图3C的滚动位置更低的滚动位置。滚动检测模块235可能已经确定第二内容文档220B的顶端与视口300的顶端之间的偏移小于或等于零,并且第二内容文档220B的底端与视口300的底端之间的偏移大于或等于零。基于这些比较,滚动归属模块240可以将滚动事件归属给第二内联框架215B,从而允许嵌入在第二内联框架215B中的第二内容文档220B滚动。
接着参照图3E,图3E描绘了处于比图3A至图3D的滚动位置更低的滚动位置处的信息资源205。在图3E中,当第二内容文档220B的底端朝向第二内联框架215B的底端渐渐移动时,滚动检测模块235可能已经再次确定第二内容文档220B的顶端与视口300的顶端之间的偏移大于零,并且第二内容文档220B的底端与视口300的底端之间的偏移小于零。基于这些比较,滚动归属模块240可能已经将滚动事件指派给信息资源页面210而不是第一或第二内联框架215A或215B,由此允许信息资源页面210向上滚动。另外,内容包含模块230可能已经请求将额外内容嵌入到第三内联框架215C中,并且可能已经将额外内容作为第三内容文档220C嵌入到第三内联框架215C中。在视觉上,因为第二内联框架215B并不完全在视口300的视图之外,所以第二内容文档220B和第三内容文档220C中的一些通过视口300是可见的。
接着参照图3F,图3F描绘了处于比图3E的滚动位置更低的滚动位置处的第三内容文档220C。在图3F中,滚动检测模块235可能已经确定第三内容文档220C的顶端与视口300的顶端之间的偏移小于或等于零,并且第三内容文档220C的底端与视口300的底端之间的偏移大于或等于零。基于这些比较,滚动归属模块240可以将滚动事件归属给第三内联框架215C,从而允许嵌入在第三内联框架215C中的第三内容文档220C滚动。内容包含模块230可以请求额外内容作为内容文档220D-N被附加到信息资源页面210以嵌入到相应的内联框架215D中。
应该理解的是,结合图3A至图3F描述的无限滚动归属系统200的功能可以按照与滚动位置的顺序相反的顺序完成。例如,从图3F转向图3E,随着应用205的滚动位置向上移动,滚动检测模块230可以确定是否第三内容文档220C的顶端与视窗300的顶端之间的偏移大于零,并且第三内容文档220C的底端与视口300的底端之间的距离小于零。滚动检测模块235还可以确定是否第二内容文档220B的顶端与视口300的顶端之间的偏移大于零,并且第二内容文档220B的底端与视口300的底端之间的偏移小于零。基于这些比较,滚动归属模块240可以将滚动事件归属给信息资源210,由此允许整个信息资源210滚动。应该进一步理解,结合图3A至图3F描述的无限滚动归属系统200的功能可以在任何方向或轴线上的滚动轴上完成。例如,代替使应用205的滚动轴是垂直的,滚动轴可以是水平的。此外,内联框架215A-C可以水平地附加到信息资源210,并且可以被嵌入有可以是水平长度的内容文档220A-C。在该示例中,滚动检测模块235可以使用内容文档220A-C的左端和右端以及视口300的左右端来计算偏移,并将滚动事件归属给相应的内联框架215A-C或信息资源页面210。
参照图4,图4是描绘在应用上归属滚动事件的方法400的流程图。本文关于方法400描述的功能可以由如图1中所示的数据处理系统110或客户端设备125或如图2所示的内容显示管理系统200或其任何组合实行或以其它方式执行。例如,图4描绘了在数据处理系统110和客户端设备125之间归属的方法400的功能。简而言之,客户端设备可以向数据处理系统传输对内容的请求(框405)。数据处理系统可以从客户端设备接收对内容的请求(框410)。数据处理系统可以将内容与无限滚动归属脚本传输到客户端设备(框415)。客户端设备可以从数据处理系统接收内容与无限滚动归属脚本(框420)。客户端设备可以将内联框架的尺寸设置为视口的尺寸(框425)。客户端设备可以检测滚动事件(框430)。客户端设备可以确定内容文档的第一末端与视口的第一末端之间的第一偏移是否小于或等于第一阈值(框435)。客户端设备可以确定内容文档的第二末端与视口的第二末端之间的第二偏移是否大于或等于第二阈值(框440)。如果第一偏移小于或等于第一阈值,并且第二偏移大于或等于第二阈值,则客户端设备可以将滚动事件归属给内联框架(框445)。如果第一偏移不小于或等于第一阈值,并且第二偏移不大于或等于第二阈值,则客户端设备可以将滚动事件归属给资源页面(框450)。客户端设备可以向数据处理系统传输对额外内容的请求(框455)。数据处理系统可以从客户端设备接收对额外内容的请求(框460)。数据处理系统可以向客户端设备传输额外内容(框465)。客户端设备可以从数据处理系统接收额外内容(框470)。
更详细地说,客户端设备可以向数据处理系统传输对内容的请求(框405)。对内容的请求可以是对包括一个或多个内联框架的信息资源页面(例如,应用的网页或页面)的请求、对内容项目的请求、或者对要嵌入在信息资源页面的内联框架之一中的内容文档的请求等等中的至少一个。对内容的请求可以识别设备的类型以及指示对无限滚动归属脚本的请求的指示符。客户端设备的设备类型可以包括例如台式计算机、笔记本电脑、移动电话、智能手机和平板电脑等。
数据处理系统可以从客户端设备接收对内容的请求(框410)。对内容的请求可以包括对包括一个或多个内联框架的信息资源页面(例如,应用的网页或页面)的请求、对内容项目的请求、或者对要嵌入在信息资源页面的内联框架之一中的内容文档的请求等等。对内容的请求可以包括信息资源页面、内容文档或内容项目的地址或标识符。例如,对内容的请求可以包括指向诸如网页的特定资源的统一资源定位符(URL)(例如,“https://www.example.com/homepage.html”)。对内容文档的请求的URL可以包括与信息资源的URL不同的主机页面。例如,信息资源页面的URL可以是“https://www.example_host.com/index.html”,但是内容文档的URL可以是“http://www.example_thirdparty.com/article1.html”。
在一些实施方案中,数据处理系统可以接收对信息资源页面的请求,其可以包括指示对无限滚动归属脚本的请求的指示符。例如,对信息资源页面的请求可以包括含有指示符的报头,指示符指定数据处理系统以将无限滚动归属脚本连同信息资源页面一起发送到客户端设备。在一些实施方案中,数据处理系统可以随后并重复地接收对嵌入到另一个内联框架中的内容文档的另一个请求。在一些实施方案中,信息资源页面可以包括插入到信息资源页面的脚本中的无限滚动归属脚本。在一些实施方案中,信息资源页面可以包括用于检索要插入到信息资源页面中的无限滚动归属脚本的脚本。
数据处理系统可以确定要传输给客户端设备的内容。数据处理系统可以识别内容请求中包括的信息资源页面、内容文档和内容项目的地址或标识符。数据处理系统可以访问数据库并选择由地址或标识符识别的信息资源页面、内容文档或内容项目。数据处理系统可以向内容提供方或内容发布方传输访问、检索或以其它方式接收由地址或标识符识别的内容文档的请求。数据处理系统可以将由地址或标识符识别的内容文档传输或转发给客户端设备。例如,数据处理系统可以从客户端设备接收对要嵌入到信息资源页面的内联框架中的内容文档的请求。该请求可以包括指向内容发布方120中的一个的地址。在这个示例中,数据处理系统可以将对内容文档的请求转发给相应的内容发布方。在从相应的内容发布方接收到内容文档后,数据处理系统可以将内容文档转发给发出原始请求的客户端设备。
在一些实施方案中,数据处理系统可以识别请求的类型。在一些实施方案中,数据处理系统可以基于从客户端设备接收的对内容的请求来确定是否传输无限滚动归属脚本。数据处理系统可以确定请求的类型是否与适合传输无限滚动归属脚本的请求相对应。例如,数据处理系统可以确定客户端设备已经接收到的或者要发送给客户端设备的信息资源页面是否具有无限滚动能力。在该示例中,如果信息资源页面已经指定了无限滚动,则数据处理系统可以传输无限滚动归属脚本。在一些实施方案中,数据处理系统可以从广告拍卖系统接收内容文档或内容项目,广告拍卖系统可以基于广告拍卖选择用于显示的内容。广告拍卖系统可以基于广告拍卖参数(诸如投标值、广告大小、点击率(CTR)、每千次曝光成本(CPM)和曝光率等)从多个广告中选择广告。
数据处理系统可以将内容与无限滚动归属脚本传输到客户端设备(框415)。客户端设备可以从数据处理系统接收内容与无限滚动归属脚本(框420)。传输到客户端设备的内容可以至少包括信息资源页面和无限滚动归属脚本。在一些实施方案中,信息资源页面可以包括或被配置为包括一个或多个内联框架,其中每个内嵌有至少一个内容文档。无限滚动归属脚本可以包括计算机可执行指令。计算机可执行指令可以包括诸如超文本标记语言(HTML)、可扩展超文本标记语言(XHTML)、可扩展标记语言(XML)、层叠样式表(CSS)和JavaScript等的脚本。计算机可执行指令可以由客户端设备的应用执行,例如使得客户端设备传输由数据处理系统接收的对内容的请求的应用。应用可以包括例如因特网浏览器、移动应用或能够读取和执行计算机可执行指令的任何其它计算机程序。简而言之,计算机可执行指令在由客户端设备的处理器执行时可以使得客户端设备的应用:(a)将信息资源页面的第一内联框架的尺寸设置为与在其上显示所述信息资源页面的应用的视口的尺寸相对应;(b)监视应用上的滚动事件;(c)响应于检测到滚动事件针对第一内联框架确定第一内容文档的第一内容文档末端与视口的第一视口末端之间的第一偏移小于或等于第一预定阈值;(d)响应于检测到滚动事件针对第一内联框架确定第一内容文档的第二内容文档末端与视口的第二视口末端之间的第二偏移大于或等于第二预定阈值;(e)响应于确定第一偏移小于或等于第一预定阈值并确定第二偏移大于或等于第二预定阈值,将滚动事件指派给第一内联框架;以及(f)响应于确定第一偏移不小于或等于第一预定阈值和确定第二偏移不大于或等于第二预定阈值中的至少一项而将滚动事件指派给信息资源页面。
应用可以由计算设备的一个或多个处理器运行或以其它方式执行。应用可以包括例如因特网浏览器、移动应用、或能够执行或以其它方式调用计算机可执行指令的任何其它计算机程序,诸如信息资源页面、一个或多个内联框架、一个或多个内容文档和无限滚动归属脚本中包括的计算机可执行指令。信息资源页面可以包括一个或多个内联框架(例如,HTML5的iframe)。一个或多个嵌入式框架中的每一个可以嵌入有至少一个内容文档。信息资源页面可以连同无限滚动归属脚本一起由应用接收。
客户端设备可以将内联框架的尺寸设置为视口的尺寸(框425)。在一些实施方案中,客户端设备可以将信息资源页面的第一内联框架的尺寸设置为与在其上显示信息资源页面的应用的视口的尺寸相对应。应用的视口的尺寸单位可以是像素、缩放像素、公制或英制单位等等。客户端设备可以确定或识别应用的视口的尺寸。例如,客户端设备可以调用JavaScript函数“getViewportsize()”来检索视口的大小。替代地,客户端设备可以使用HTML元标签“viewport”并使用“device-height”和“device-width”值来识别视口的尺寸。在一些实施方案中,客户端设备可以将信息资源的第一内联框架的尺寸设置为大于视口的尺寸的尺寸。在一些实施方案中,客户端设备可以将信息资源的第一内联框架的高度设置为大于或等于视口的高度的高度。在一些实施方案中,客户端设备可以将信息资源的第一内联框架的宽度设置为大于或等于视口的宽度的宽度。例如,已经将视口的大小识别为1920×1080,则客户端设备可以将第一内联框架的尺寸设置为1920×1300。客户端设备可以将剩余的内联框架的尺寸设置为与第一内联框架相同的尺寸。在一些实施方案中,客户端设备可以将剩余内联框架的尺寸设置为大于第一内联框架的尺寸的尺寸。
在一些实施方案中,客户端设备可以确定或识别要嵌入到内联框架中的内容文档的大小。在一些实施方案中,客户端设备可以将内容文档的尺寸与视口的尺寸进行比较。在一些实施方案中,响应于将内容文档的尺寸与视口的尺寸进行比较,客户端设备可以将带有嵌入内容文档的相应内联框架的尺寸设置为内容文档的尺寸。例如,如果要嵌入在第二内联框架中的内容文档的高度小于视口的高度,则客户端设备可以将第二内联框架的高度设置为内容文档的高度。
在一些实施方案中,客户端设备可以将第一内联框架实例化或以其它方式附加到信息资源页面上,以将至少第一内容文档嵌入到第一内联框架中。例如,为了附加第一内联框架并将第一内容文档嵌入到第一内联框架中,客户端设备可以将HTML5标记“<iframesrc=“https://example.com”></iframe>”插入到信息资源页面中。在另一示例中,使用JavaScript,客户端设备可以调用“document.createElement(<inline_frame>)”函数以将第一内联框架作为文档对象模型(DOM)节点实例化并附加到信息资源页面的DOM树中。在这个示例中,客户端设备可以通过调用“document.getElementbyID(<inline_frame>).src=“https://example.com”来嵌入第一内容文档。在一些实施方案中,客户端设备可以将信息资源页面上的预先存在的内容嵌入到第一内联框架。例如,如果信息资源页面包括与任何内联框架分开的具有文本和图像的主要内容,则客户端包含可以将预先存在的主要内容从信息资源页面移动,将预先存在的内容作为内容文档插入到第一内联框架中,并且从信息资源页面中去除预先存在的主要内容。
客户端设备可以检测滚动事件(框430)。在一些实施方案中,客户端设备可以检测或者以其它方式监听滚动事件。滚动事件可以包括,例如,“onScroll”或“onTouch”事件处理程序或监听程序。例如,如果客户端设备包括触摸显示器,则客户端设备可以检测“onTouch”事件作为应用上的滚动事件。在一些实施方案中,响应于检测到滚动事件,客户端设备可以执行或运行其它指令。例如,客户端设备可以在“onScroll”或“onTouch”事件监听程序检测到滚动事件时调用函数。在一些实施方案中,客户端设备可以通过节制来处理滚动事件。例如,一个客户端设备接收一个滚动事件,滚动设备可以包括使得客户端设备在经过预定时间帧(例如,4到140ms)之前不处理滚动事件的指令。
客户端设备可以确定内容文档的第一末端与视口的第一末端之间的第一偏移是否小于或等于第一阈值(框435)。在一些实施方案中,客户端设备可以响应于检测到滚动事件针对第一内联框架确定第一内容文档的第一内容文档末端与视口的第一视口末端之间的第一偏移小于或等于第一预定阈值。第一预定阈值的测量单位可以是像素、缩放像素、公制或英制单位。基于视口的百分比或比率,第一预定阈值可以在从零到任意数字的范围内。例如,第一预定阈值可以在视口的高度的0%至33%的范围内。第一预定阈值可以是固定的或变化的。在一些实施方案中,响应于检测到滚动事件,客户端设备可以识别或获得第一内容文档的第一内容文档末端。第一内容文档的第一内容文档末端可以是例如第一内容文档的顶端或左端上的坐标或位置。例如,客户端设备可以调用“<element>.offsetTop”或“<element>.offsetLeft”的JavaScript属性来识别第一内容文档的顶端。在一些实施方案中,响应于检测到滚动事件,客户端设备可以识别或获得视口的第一视口末端。第一视口末端可以是例如视口的顶端或左端。例如,客户端设备可以调用“window.pageYOffset”或“window.pageXOffset”的JavaScript属性来获取视口的顶部或左侧大小坐标。在一些实施方案中,客户端设备可以比较第一内容文档的第一内容文档末端和视口的第一视口末端。客户端设备可以计算或确定第一内容文档末端与第一视口末端之间的差异或偏移,并将该差异或偏移与第一预定阈值进行比较。
客户端设备可以确定内容文档的第二末端与视口的第二末端之间的第二偏移是否大于或等于第二阈值(框440)。在一些实施方案中,客户端设备可以响应于检测到滚动事件针对第一内联框架确定第一内容文档的第二内容文档末端与视口的第二视口末端之间的第二偏移大于或等于第二预定阈值。第二预定阈值的测量单位可以是像素、缩放像素、公制或英制单位。基于视口的百分比或比率,第二预定阈值可以在从零到任意数字的范围内。例如,第二预定阈值可以在视口的高度的0%至33%的范围内。第二预定阈值可以是固定的或变化的。在一些实施方案中,响应于检测到滚动事件,客户端设备可以识别或获得第二内容文档的第二内容文档末端。第一内容文档的第二内容文档末端可以是例如第一内容文档的底部或右端上的坐标或位置。例如,客户端设备可以调用“<element>.offsetTop”加上第一内容文档的高度或“<element>.offsetLeft”的JavaScript属性以识别第一内容文档的顶端。在一些实施方案中,响应于检测到滚动事件,客户端设备可以识别或获得视口的第二视口末端。第一视口末端可以是例如视口的底部或右端。例如,客户端设备可以调用“window.pageYOffset”加上视口高度或“window.pageXOffset”加上视口宽度的JavaScript属性以获得视口的底部或右边大小坐标。在一些实施方案中,客户端设备可以比较第一内容文档的第二内容文档末端和视口的第二视口末端。客户端设备可以计算或确定第二内容文档末端与第二视口末端之间的差异或偏移,并将该差异或偏移与第二预定阈值进行比较。
应该理解,客户端设备可以使用相同或不同的阈值来确定除了第一内联框架之外的每个内联框架的偏移,并相应地指派滚动事件。例如,客户端设备可以响应于检测到滚动事件针对第二内联框架确定第二内容文档的第一内容文档末端与视口的第一视口末端之间的第三偏移小于或等于第三预定阈值。客户端设备还可以包括使得客户端设备响应于检测到滚动事件针对第二内联框架确定第二内容文档的第二内容文档末端与视口的第二视口末端之间的第四偏移大于或等于第四预定阈值的指令。响应于确定第三偏移小于或等于第三预定阈值并且确定第四偏移大于或等于第四预定阈值,客户端设备可以将滚动事件指派给第二内联框架。可以对随后的内联框架重复这些功能。
如果第一偏移小于或等于第一阈值,并且第二偏移大于或等于第二阈值,则客户端设备可以将滚动事件指派给内联框架(框445)。在一些实施方案中,客户端设备可以响应于确定第一偏移小于或等于第一预定阈值并确定第二偏移大于或等于第二预定阈值而将滚动事件指派给第一内联框架。在一些实施方案中,客户端设备可以最初将滚动事件设置为信息资源。在一些实施方案中,客户端设备可以响应于确定第一偏移小于或等于第一预定阈值并确定第二偏移大于或等于第二预定阈值而将滚动事件指派给第一内联框架。在一些实施方案中,客户端设备可以将第一内联框架的可滚动属性指派为可滚动的。例如,在确定第一偏移大于零并且第二偏移大于零时,客户端设备可以将第一内联框架的可滚动属性设置为真,由此允许嵌入第一内联框架内的第一内容文档滚动。
如果第一偏移不小于或等于第一阈值,并且第二偏移不大于或等于第二阈值,则客户端设备可以将滚动事件指派给信息资源页面(框450)。在一些实施方案中,客户端设备可以响应于确定第一偏移不小于或等于第一预定阈值和确定第二偏移不大于或等于第二预定阈值中的至少一项而将滚动事件指派给信息资源页面。在一些实施方案中,客户端设备可以最初将滚动事件设置为第一内联框架。在一些实施方案中,客户端设备可以响应于确定第一偏移小于或等于第一预定阈值并确定第二偏移大于或等于第二预定阈值而将滚动事件指派给信息资源页面。在一些实施方案中,客户端设备可以将信息资源页面的可滚动属性指派为可滚动的。例如,在确定第一偏移大于零并且第二偏移小于零时,客户端设备可以将信息资源页面的可滚动属性设置为真,由此允许整个信息资源页面与应用的滚动位置一起移动。
在一些实施方案中,响应于确定第二内容文档的尺寸小于视口的尺寸,客户端设备可以将滚动事件指派给信息资源页面。在一些实施方案中,客户端设备可以将第二内联框架的可滚动属性指派为不可滚动。例如,如果嵌入第二内联框架中的第二内容文档的高度和宽度是1240×500并且视口的高度和宽度是1240×720,则客户端设备可以将滚动事件指派给信息资源页面,即使在视觉上滚动位于第二内联框架上并且整个第二内联框架完全在视口的视图中。
在一些实施方案中,响应于检测到补充内容附加,客户端设备可以确定第一偏移小于或等于第一预定阈值,并且第二偏移大于或等于第二预定阈值。例如,在确定额外内容已被附加到嵌入在第一内联框架中的第一内容文档时,客户端设备可以确定第一偏移小于或等于零并且第二偏移大于或等于200个像素。进而,客户端设备可以基于该确定将滚动事件指派给第一内联框架或信息资源页面。
客户端设备可以传输对额外内容的请求(框455)。在一些实施方案中,响应于确定信息资源页面除了第一内联框架之外不具有另一内联框架,客户端设备可传输对额外内容的请求。在一些实施方案中,客户端设备可以响应于确定第一偏移不小于或等于第一预定阈值和确定第二偏移不大于或等于第二预定阈值中的至少一项而传输对额外内容的请求。在一些实施方案中,响应于确定信息资源页面的滚动位置在信息资源页面的尺寸的预定阈值分数或百分比以内,客户端设备可以传输对额外内容的请求。例如,如果滚动位置在信息资源页面的高度的75%和95%之间,则客户端设备可以传输对额外内容的请求。在一些实施方案中,客户端设备可以相对于框420-450独立或并行地传输对额外内容的请求。
数据处理系统可以接收对额外内容的请求(框460)。对额外内容的请求可以包括对嵌入在信息资源页面的内联框架之一中的内容文档等等的请求。内容请求可以包括内容文档的地址或标识符。数据处理系统可以识别在对额外内容的请求中包括的内容文档的地址或标识符。数据处理系统可以访问数据库并选择由地址或标识符识别的内容文档。数据处理系统可以向内容提供方或内容发布方传输访问、检索或以其它方式接收由地址或标识符识别的内容文档的请求。数据处理系统可以传输额外内容(框465)。在一些实施方案中,数据处理系统可以将由地址或标识符识别的内容文档传输或转发给客户端设备。
客户端设备可以接收额外内容(框470)。在一些实施方案中,客户端设备可以将另一或第二内联框架附加到信息资源页面。第二内联框架可以嵌入有第二内容文档。在一些实施方案中,客户端设备可以确定信息资源页面是否除了第一内联框架之外不具有另一内联框架。在一些实施方案中,响应于确定信息资源页面除了第一内联框架之外不具有另一内联框架,客户端设备可以附加第二内联框架。在一些实施方案中,客户端设备可以响应于接收到另一个内容文档,将第二内联框架附加到信息资源页面。例如,如果客户端设备从数据处理系统接收到另一个内容文档,则客户端设备可以在信息资源页面中实例化另一个内联框架,并将该内容文档嵌入到相应的内联框架中。客户端设备可以重复和动态地将一个或多个内联框架(例如第三内联框架)附加到信息资源。
在一些实施方案中,客户端设备可以响应于确定第一偏移不小于或等于第一预定阈值和确定第二偏移不大于或等于第二预定阈值中的至少一项而在信息资源页面中附加第二内联框架。第二内联框架至少嵌入有第二内容文档。例如,当确定第一偏移不小于或等于第一预定阈值并且第二偏移不大于或等于第二预定阈值时,客户端设备可以调用客户端设备的指令。客户端设备又可以请求额外内容,并将接收到的额外内容作为第二内容文档嵌入到第二内联框架中。客户端设备可以为一个或多个内联框架重复和动态地执行此功能。
图5示出了根据一些实施方案的可以用于实施这里讨论的任何计算机系统(包括系统110及其组件,诸如内容请求模块130、内容选择模块135和脚本提供方模块140)的说明性计算机系统500的总体结构。计算机系统500可以被用来通过网络105提供信息以供显示。图5的计算机系统500包括通信地耦合到存储器525、一个或多个通信接口505以及一个或多个输出设备510(例如,一个或多个显示单元)和一个或多个输入设备515的一个或多个处理器520。处理器520可以被包括在数据处理系统110或系统110的其它组件中,诸如内容请求模块130、内容选择模块135、脚本提供方模块140、内容包含模块230、滚动检测模块235和滚动归属模块240等等。
在图5的计算机系统500中,存储器525可以包括任何计算机可读存储介质,并且可以存储例如用于实施这里针对相应系统所描述的各种功能的处理器可执行指令等计算机指令,以及与其相关的、由此产生的、或者经由通信接口或输入设备(如果存在的话)接收的任何数据。再次参考图1的系统110,数据处理系统110可以包括存储器525以存储与一个或多个内容单元的库存的可用性、一个或多个内容单元的预留等有关的信息。存储器525可以包括数据库145。图5中所示的处理器520可以用于执行存储在存储器525中的指令,并且在这样做时还可以从存储器读取或向存储器写入根据指令的执行处理和/或生成的各种信息。
图5所示的计算机系统500的处理器520还可以通信地耦合到或控制通信接口505以根据指令的执行传输或接收各种信息。例如,通信接口505可以耦合到有线或无线网络、总线或其它通信装置,并且因此可以允许计算机系统500将信息传输到其它设备(例如,其它计算机系统)或者从其它设备(例如,其它计算机系统)接收信息。虽然未在图1的系统中明确示出,但是一个或多个通信接口有利于系统50的组件之间的信息流动。在一些实施方案中,通信接口可被配置(例如,经由各种硬件组件或软件组件)为提供网站作为计算机系统500的至少一些方面的访问门户。通信接口505的示例包括用户可以通过其与数据处理系统50通信的用户接口(例如网页)。
可以提供图5所示的计算机系统500的输出设备510,以例如允许与执行指令相关地查看或以其它方式感知各种信息。可以提供输入设备515以例如允许用户在指令执行期间手动调整、选择、输入数据或者以多种方式中的任一种与处理器进行交互。在此进一步提供与可以用于本文讨论的各种系统的通用计算机系统结构有关的额外信息。
本说明书中所描述的主题和操作的实施方案可以在数字电子电路、或在实体介质上具体实施的计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等效物)或其中的一个或多个的组合中实施。本说明书中描述的主题的实施方案可以实施为在计算机存储介质上编码的一个或多个计算机程序,即,计算机程序指令的一个或多个模块,用于由数据处理装置执行或者控制数据处理装置的操作。程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以对信息进行编码,以便传输给合适的接收器装置以供数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或者它们中的一个或多个的组合,或者可以包括在其中。而且,虽然计算机存储介质不是传播信号,但是计算机存储介质可以包含在人工生成的传播信号中编码的计算机程序指令的来源或目的地。计算机存储介质也可以是一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其它存储设备)或包括在其中。
这里公开的特征可以在智能电视模块(或者连接的电视模块、混合电视模块等)上实施,其可以包括处理模块,该处理模块被配置为将因特网连接与更传统的电视节目源(例如,通过电缆、卫星、无线电或其它信号接收)整合。智能电视模块可以被物理地结合到电视机中,或者可以包括诸如机顶盒、蓝光或其它数字媒体播放器、游戏控制台、酒店电视系统和其它配套设备的单独设备。智能电视模块可以被配置为允许观众搜索和查找在网络上、在本地有线电视频道上、在卫星电视频道上、或存储在本地硬盘驱动器上的视频、电影、照片和其它内容。机顶盒(STB)或机顶单元(STU)可以包括信息电器设备,其可以包含调谐器并连接到电视机和外部信号源,将信号转换成内容,内容然后显示在电视屏幕或其它显示设备上。智能电视模块可以被配置为提供主屏幕或顶级屏幕,其包括多个不同应用(诸如网页浏览器和多个流媒体服务)、连接的电缆或卫星媒体源、其它网络“频道”等等的图标。智能电视模块还可以被配置为向用户提供电子节目指南。智能电视模块的配套应用可以在移动计算设备上操作,以向用户提供关于可用节目的额外信息,以允许用户控制智能电视模块等。在替代实施方案中,可以在笔记本电脑或其它个人计算机、智能手机、其它移动电话、手持式计算机、平板PC或其它计算设备上实施这些特征。
本说明书中描述的操作可以被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上的数据或从其它来源接收的数据执行的操作。
术语“数据处理装置”、“数据处理系统”、“用户设备”或“计算设备”涵盖用于处理数据的所有类型的装置、设备和机器,例如包括可编程处理器、计算机、片上系统或者前述中的多个或其组合。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所涉及的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机或其中一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础设施,如网络服务、分布式计算和网格计算基础设施。内容请求模块130、内容选择模块135和脚本提供方模块140可以包括或共享一个或多个数据处理设备、计算设备或处理器。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言、声明式或程序语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或其它适用于计算环境的单元。计算机程序可以但不需要对应于文件系统中的文件。程序可以存储在文件的保存其它程序或数据的部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以将计算机程序部署为在一个计算机上或多个计算机上执行,这多个计算机位于一个站点,或者分布在多个站点上并通过通信网络互连。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器实行,所述可编程处理器执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行动作。处理和逻辑流程也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))来执行,并且装置也可以被实施为专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
举例而言,适用于执行计算机程序的处理器包括通用微处理器和专用微处理器以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘),或者操作性地耦合到这些大容量存储设备以从其接收数据或向其传送数据或者这两种操作。但是,计算机不需要有这样的设备。此外,可以将计算机嵌入到另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或者并入在专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施方案可以在计算机上实施,该计算机具有显示设备(例如CRT(阴极射线管)、等离子或LCD(液晶显示器)监视器),用于显示信息给用户,以及键盘和指示设备,例如鼠标或轨迹球,用户可以通过该设备向计算机提供输入。也可以使用其它类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档并从其接收文档来与用户进行交互;例如,通过响应于从网络浏览器接收到的请求,向用户的客户端设备上的网络浏览器发送网页。
本说明书中描述的主题的实施方案可以在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可以通过该图形用户界面或网络浏览器与本说明书中描述的主题的实施方案交互)或者一个或多个这样的后端、中间件或前端组件的任何组合的计算系统中实施。系统的组件可以通过任何数字数据通信形式或介质(例如通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如因特网)和对等网络(例如,adhoc对等网络)。
诸如系统500或系统110的计算系统可以包括客户端和服务器。例如,数据处理系统110可以包括一个或多个数据中心或服务器组中的一个或多个服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是由于在相应计算机上运行并且彼此之间具有客户端-服务器关系的计算机程序产生的。在一些实施方案中,服务器向客户端设备传输数据(例如,HTML页面)(例如,为了向与客户端设备交互的用户显示数据并从用户接收用户输入的目的)。可以在服务器处从客户端设备接收在客户端设备生成的数据(例如,用户交互的结果)。
尽管本说明书包含许多具体的实施细节,但是这些不应该被解释为对任何发明或者可以要求保护的范围的限制,而是作为对本文中描述的系统和方法的特定实施方案特有的特征的描述。在本说明书中在分开的实施方案的上下文中描述的某些特征也可以在单个实施方案中组合实施。相反,在单个实施方案的上下文中描述的各种特征也可以分开地或以任何合适的子组合在多个实施方案中实施。此外,虽然上文可能将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是所要求保护的组合中的一个或多个特征可以在一些情况下从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变型。
类似地,尽管在附图中以特定的顺序描述了操作,但是这不应该被理解为要求以所示出的特定顺序或依次顺序执行这样的操作或者要执行所有示出的操作以实现期望的结果。在一些情况下,权利要求书中列举的动作可以按不同的顺序执行并且仍然实现期望的结果。另外,附图中描绘的过程不一定需要所示出的特定顺序或依次顺序才能实现期望的结果。
在某些情况下,多任务和并行处理可能是有利的。此外,上述实施方案中的各种系统组件的分离不应当被理解为在所有实施方案中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品中。例如,内容请求模块130、内容选择模块135和脚本提供方模块140可以是数据处理系统110的一部分、单个模块、具有一个或多个处理模块的逻辑设备、一个或多个服务器、或搜索引擎的一部分。
现在已经描述了一些说明性的实施方案和实施方案,显而易见的是,前述内容是说明性的而非限制性的,是举例提供的。具体地说,尽管这里提供的许多例子涉及方法操作或系统元件的特定组合,但是这些操作和这些元件可以以其它方式组合以实现相同的目标。仅结合一个实施方案讨论的操作、元件和特征不打算排除在其它实施方案或实施方案中的类似作用之外。
这里使用的措辞和术语是为了描述的目的,不应该被认为是限制性的。“包含”、“包括”、“具有”、“含有”、“涉及”、“特征在于”、“其特征在于”及其在本文中的变化形式的使用意在涵盖其后列出的项目、其等同物和附加项目以及由列出的项目专门组成的替代实施方案。在一个实施方案中,这里描述的系统和方法包括一个、多于一个的所有组合、或者所有所描述的元件、操作或组件。
本文以单数形式提及的系统和方法的实施方案或元件或操作的任何引用还可以包含包括多个这些元件的实施方案,并且本文对任何实施方案或元件或操作的复数形式的任何引用还可以包含仅包括单个元件的实施方案。单数形式或复数形式的引用不旨在将当前公开的系统或方法、其组件、操作或元件限制为单数或复数配置。对基于任何信息、操作或元件的任何操作或元件的引用可以包括其中该操作或元件至少部分基于任何信息、操作或元件的实施方案。
这里公开的任何实施方案可以与任何其它实施方案结合,并且对“一个实施方案”、“一些实施方案”、“替代实施方案”、“各种实施方案”、“一个实施方案”等的引用不一定是相互排斥的,旨在表示结合该实施方案描述的特定特征、结构或特性可以包括在至少一个实施方案中。这里使用的这样的术语不一定都指的是同一个实施方案。任何实施方案可以以任何与本文公开的方面和实施方案一致的方式包括或排他地与任何其它实施方案组合。
对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个、多于一个以及所有描述的术语中的任何一个。
在附图、详细描述或任何权利要求中的技术特征后面附有附图标记的情况下,仅为了让附图、详细描述和权利要求更容易理解的目的而包括附图标记。因此,附图标记或它们的缺失都不会对任何权利要求要素的范围产生任何限制作用。
这里描述的系统和方法可以以其它特定形式来实施而不背离其特征。尽管这里提供的示例涉及归属应用上的滚动事件,但是这里描述的系统和方法可以包括应用于其它环境。前述实施方案是说明性的而非限制所描述的系统和方法。这里描述的系统和方法的范围因此由所附权利要求而不是前面的描述来指示,并且落入权利要求的等同物的含义和范围内的改变被包含在其中。
Claims (13)
1.一种归属应用上的滚动事件的方法,包括:
将信息资源页面的第一内联框架的尺寸设置(425)为与在其上显示所述信息资源页面的应用的视口的尺寸相对应,所述第一内联框架嵌入有至少第一内容文档;
监视(430)所述应用上的滚动事件;
响应于检测到所述滚动事件,针对所述第一内联框架确定(435)所述第一内容文档的第一内容文档末端与所述视口的第一视口末端之间的第一偏移小于或等于第一预定阈值;
响应于检测到所述滚动事件,针对所述第一内联框架确定(440)所述第一内容文档的第二内容文档末端与所述视口的第二视口末端之间的第二偏移大于或等于第二预定阈值;
响应于确定(435)所述第一偏移小于或等于所述第一预定阈值并确定(440)所述第二偏移大于或等于所述第二预定阈值,将所述滚动事件指派(445)给所述第一内联框架,从而允许所述内容文档在所述内联框架内滚动;以及
响应于确定所述第一偏移不小于或等于所述第一预定阈值和确定所述第二偏移不大于或等于所述第二预定阈值中的至少一项,将所述滚动事件指派(450)给所述信息资源页面,从而允许所述信息资源页面在所述视口内滚动。
2.根据权利要求1所述的方法,还包括:
响应于确定所述第一偏移不小于或等于所述第一预定阈值和确定所述第二偏移不大于或等于所述第二预定阈值中的至少一项,在所述信息资源页面中附加第二内联框架,所述第二内联框架嵌入有至少第二内容文档。
3.根据权利要求2所述的方法,还包括:
将所述信息资源页面的所述第二内联框架的尺寸设置为与在其上显示所述信息资源页面的所述应用的所述视口的尺寸相对应;
响应于检测到所述滚动事件,针对所述第二内联框架确定所述第二内容文档的第一内容文档末端与所述视口的第一视口末端之间的第三偏移小于或等于第三预定阈值;
响应于检测到所述滚动事件,针对所述第二内联框架确定所述第二内容文档的第二内容文档末端与所述视口的第二视口末端之间的第四偏移大于或等于第四预定阈值;以及
响应于确定所述第三偏移小于或等于所述第三预定阈值并且确定所述第四偏移大于或等于所述第四预定阈值,将所述滚动事件指派给所述第二内联框架。
4.根据权利要求3所述的方法,还包括:
响应于确定所述第三偏移小于或等于所述第三预定阈值和确定所述第四偏移大于或等于所述第四预定阈值中的至少一项,监视所述应用的所述滚动事件。
5.根据权利要求2所述的方法,还包括:
确定所述第二内容文档的尺寸小于所述视口的尺寸;
将所述第二内联框架的尺寸设置为与所述内容文档的尺寸相对应;以及
响应于将所述第二内联框架的尺寸设置为与所述内容文档的尺寸相对应,将所述滚动事件指派给所述信息资源页面。
6.根据权利要求1所述的方法,还包括:
确定所述信息资源页面除了所述第一内联框架之外不具有另一内联框架;以及
响应于确定所述信息资源页面除了所述第一内联框架之外不具有另一内联框架,附加第二内联框架,所述第二内联框架嵌入有至少第二内容文档。
7.根据权利要求1所述的方法,还包括:
对于所述第一内联框架,在将所述滚动事件指派给所述信息资源页面之后,监视所述第一内联框架的所述第一内容文档的补充内容附加,所述补充内容附加改变所述第一内容文档的尺寸;
其中确定所述第一偏移还包括响应于检测到所述补充内容附加,确定所述第一偏移;并且
其中确定所述第二偏移还包括响应于检测到所述补充内容附加,确定所述第二偏移。
8.根据权利要求1所述的方法,还包括:
监视所述应用的所述视口的尺寸的变化;以及
响应于检测到所述应用的所述视口的尺寸的变化,将所述信息资源页面的所述第一内联框架的尺寸重置为与所述应用的所述视口的尺寸相对应。
9.根据权利要求1所述的方法,其中,将所述信息资源页面的所述第一内联框架的尺寸设置为与所述应用的所述视口的尺寸相对应还包括:
将所述信息资源页面的所述第一内联框架的高度设置为大于或等于所述应用的所述视口的高度;以及
将所述信息资源页面的所述第一内联框架的宽度设置为大于或等于所述应用的所述视口的宽度。
10.根据权利要求1所述的方法,其中,将所述滚动事件指派给所述第一内联框还包括将所述第一内联框架的可滚动属性指派为可滚动的;并且
其中将所述滚动事件指派给所述信息资源页面还包括将所述信息资源页面的可滚动属性指派为可滚动的。
11.一种归属应用上的滚动事件的方法,包括由数据处理系统向客户端设备提供无限滚动归属脚本,所述脚本被配置为在所述客户端设备上执行以使所述客户端设备实行根据权利要求1-10中的任一项所述的方法。
12.一种用于归属应用上的滚动事件的系统,包括:
存储器,所述存储器存储处理器可读指令;以及
处理器,所述处理器被设置为读取和执行存储在所述存储器中的指令;
其中所述处理器可读指令包括被设置成控制所述系统实行根据权利要求1至11中任一项所述的方法的指令。
13.一种承载计算机程序的计算机可读介质,所述计算机程序包括配置为使得计算机实行根据权利要求1至10中任一项所述的方法的计算机可读指令。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562246453P | 2015-10-26 | 2015-10-26 | |
US62/246,453 | 2015-10-26 | ||
US15/014,795 US10585576B2 (en) | 2015-10-26 | 2016-02-03 | Systems and methods for attributing a scroll event in an infinite scroll graphical user interface |
US15/014,795 | 2016-02-03 | ||
PCT/US2016/058833 WO2017075033A1 (en) | 2015-10-26 | 2016-10-26 | Systems and methods for attributing a scroll event in an infinite scroll graphical user interface |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108475200A CN108475200A (zh) | 2018-08-31 |
CN108475200B true CN108475200B (zh) | 2020-12-29 |
Family
ID=58558671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680034837.5A Active CN108475200B (zh) | 2015-10-26 | 2016-10-26 | 用于在无限滚动图形用户界面中归属滚动事件的系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (2) | US10585576B2 (zh) |
EP (2) | EP4170489A1 (zh) |
JP (1) | JP6586179B2 (zh) |
KR (1) | KR102038640B1 (zh) |
CN (1) | CN108475200B (zh) |
DE (1) | DE112016002579T5 (zh) |
GB (2) | GB2599271B (zh) |
WO (1) | WO2017075033A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10325293B2 (en) * | 2014-01-17 | 2019-06-18 | Rakuten, Inc. | Information processing device, display control method, program and storage medium |
US10692531B2 (en) * | 2014-10-25 | 2020-06-23 | Yieldmo, Inc. | Methods for serving interactive content to a user |
US10209867B1 (en) | 2015-05-15 | 2019-02-19 | Jordan M. Becker | Electronic documentation integration and viewing system |
CN109753146B (zh) * | 2018-05-11 | 2020-07-03 | 北京字节跳动网络技术有限公司 | 一种移动终端启动应用的方法及移动终端 |
CN109799945B (zh) * | 2018-12-24 | 2021-04-13 | 天津字节跳动科技有限公司 | 小程序长列表滚动显示方法、装置、电子设备及存储介质 |
CN109889878A (zh) * | 2019-01-03 | 2019-06-14 | 百度在线网络技术(北京)有限公司 | 视频信息处理方法、装置、设备及计算机可读存储介质 |
EP3901752A1 (en) * | 2020-04-22 | 2021-10-27 | Taboola.com Ltd. | Display adjustments |
US11650911B2 (en) * | 2021-06-08 | 2023-05-16 | Micro Focus Llc | Supporting record and replay for infinite scroll elements |
CN114428657B (zh) * | 2022-01-11 | 2024-04-05 | 上海万物新生环保科技集团有限公司 | 一种在H5端基于Taro框架的滑动方法与设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788975A (zh) * | 2009-01-23 | 2010-07-28 | 国际商业机器公司 | 控制文档滚动的方法和设备 |
US8307278B1 (en) * | 2011-09-26 | 2012-11-06 | Google Inc. | Tiling mechanism to combine web services |
CN102770828A (zh) * | 2010-02-09 | 2012-11-07 | 微软公司 | 用于人机界面的控制柄交互 |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6912694B1 (en) * | 2000-06-28 | 2005-06-28 | Intel Corporation | Providing a scrolling function for a multiple frame web page |
WO2004031994A1 (en) | 2002-09-30 | 2004-04-15 | Embedded Internet Solutions, Inc. | Methods for optimizing display and navigation of web contents on wireless devices |
US20060174214A1 (en) * | 2003-08-13 | 2006-08-03 | Mckee Timothy P | System and method for navigation of content in multiple display regions |
JP2005202766A (ja) * | 2004-01-16 | 2005-07-28 | National Institute Of Information & Communication Technology | 類似コンテンツの同時提示システム |
US20060021280A1 (en) * | 2004-07-30 | 2006-02-02 | Hamilton Daniel B | Reformer, and methods of making and using the same |
US7430712B2 (en) * | 2005-03-16 | 2008-09-30 | Ameriprise Financial, Inc. | System and method for dynamically resizing embeded web page content |
US7428709B2 (en) * | 2005-04-13 | 2008-09-23 | Apple Inc. | Multiple-panel scrolling |
EP1783632B1 (en) | 2005-11-08 | 2012-12-19 | Intel Corporation | Content recommendation method with user feedback |
US7664739B2 (en) | 2006-02-14 | 2010-02-16 | Microsoft Corporation | Object search ui and dragging object results |
US8555193B2 (en) * | 2008-01-17 | 2013-10-08 | Google Inc. | System for intelligent automated layout and management of interactive windows |
US8959104B2 (en) | 2008-03-21 | 2015-02-17 | Microsoft Corporation | Presenting query suggestions based upon content items |
US20110184960A1 (en) | 2009-11-24 | 2011-07-28 | Scrible, Inc. | Methods and systems for content recommendation based on electronic document annotation |
US8381123B2 (en) | 2008-06-27 | 2013-02-19 | Microsoft Corporation | Positioning and realizing of virtualized visible content within a viewport |
US20090327869A1 (en) | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Online ad serving |
US8145521B2 (en) | 2008-07-15 | 2012-03-27 | Google Inc. | Geographic and keyword context in embedded applications |
US9558501B2 (en) | 2008-09-05 | 2017-01-31 | Sony Corporation | Content recommendation system, content recommendation method, content recommendation apparatus, program, and information storage medium |
US8181110B2 (en) | 2008-10-14 | 2012-05-15 | I-Fax.Com Inc. | DOM based media viewer |
US20100179949A1 (en) | 2009-01-15 | 2010-07-15 | Safar Samir H | Method and system for an internet browser add-on providng simultaneous multiple interactive websites on one internet browser window |
US10216708B2 (en) * | 2009-10-05 | 2019-02-26 | Adobe Systems Incorporated | Paginated viewport navigation over a fixed document layout |
US20110082755A1 (en) | 2009-10-06 | 2011-04-07 | Oded Itzhak | System and method for presenting and metering advertisements |
CN102117290B (zh) | 2009-12-30 | 2015-03-18 | 北京搜狗科技发展有限公司 | 一种展现网页中页面元素的方法及系统 |
US8438504B2 (en) | 2010-01-06 | 2013-05-07 | Apple Inc. | Device, method, and graphical user interface for navigating through multiple viewing areas |
US8423901B2 (en) | 2010-03-15 | 2013-04-16 | International Business Machines Corporation | Displaying content outside IFRAME container |
DE102010061296A1 (de) * | 2010-12-16 | 2012-06-21 | Schott Solar Ag | Verfahren zum Herstellen von elektrisch leitenden Kontakten auf Solarzellen sowie Solarzelle |
US9575615B1 (en) | 2011-03-22 | 2017-02-21 | Amazon Technologies, Inc. | Presenting supplemental content |
US8645859B2 (en) * | 2011-03-23 | 2014-02-04 | Apple Inc. | Sliding stacks |
US8610724B2 (en) | 2011-07-29 | 2013-12-17 | Qualcomm Innovation Center, Inc. | Systems and methods for webpage adaptive rendering |
US9262766B2 (en) * | 2011-08-31 | 2016-02-16 | Vibrant Media, Inc. | Systems and methods for contextualizing services for inline mobile banner advertising |
WO2013033445A2 (en) | 2011-08-31 | 2013-03-07 | Vibrant Media Inc. | Systems and methods for contextualizing a toolbar, an image and inline mobile banner advertising |
US9865005B1 (en) | 2012-01-17 | 2018-01-09 | Comscore, Inc. | Unified content visibility and video content monitoring |
US20150160817A1 (en) | 2012-04-10 | 2015-06-11 | Google Inc. | Search results including supplemental content triggered by user actions when browsing the search results |
WO2013165944A2 (en) | 2012-05-02 | 2013-11-07 | Zedo, Inc. | Systems, techniques and mechanisms for displaying online advertisements in a viewable area of a web browser |
US20140358668A1 (en) | 2012-07-25 | 2014-12-04 | Google Inc. | System and method for integrating supplemental content within a webpage |
JP2014056474A (ja) * | 2012-09-13 | 2014-03-27 | Brother Ind Ltd | 画像表示装置及び、制御プログラム |
US9355415B2 (en) | 2012-11-12 | 2016-05-31 | Google Inc. | Providing content recommendation to users on a site |
US9965162B2 (en) * | 2012-11-29 | 2018-05-08 | Facebook, Inc. | Scrolling across boundaries in a structured document |
US20140195337A1 (en) | 2013-01-09 | 2014-07-10 | Amazon Technologies, Inc. | Browser interface for accessing supplemental content associated with content pages |
US20140195890A1 (en) | 2013-01-09 | 2014-07-10 | Amazon Technologies, Inc. | Browser interface for accessing supplemental content associated with content pages |
US20150213487A1 (en) | 2013-02-03 | 2015-07-30 | Arize Nwosu | Methods and systems for advertising using scrollable refresh trigger |
US9632986B2 (en) * | 2013-03-14 | 2017-04-25 | Aol Inc. | Systems and methods for horizontally paginating HTML content |
US20140281901A1 (en) | 2013-03-18 | 2014-09-18 | Google Inc. | Estimating visibility of content items |
US9329765B2 (en) * | 2013-06-14 | 2016-05-03 | Htc Corporation | Method and electronic apparatus for scrolling frame content and recording medium using the same |
US9535574B2 (en) * | 2013-06-28 | 2017-01-03 | Jive Software, Inc. | Infinite scrolling a very large dataset |
US10380239B2 (en) * | 2013-12-03 | 2019-08-13 | Sharethrough Inc. | Dynamic native advertisment insertion |
US10325293B2 (en) * | 2014-01-17 | 2019-06-18 | Rakuten, Inc. | Information processing device, display control method, program and storage medium |
US10409884B2 (en) | 2014-07-02 | 2019-09-10 | The Nielsen Company (Us), Llc | Methods and apparatus to identify sponsored media in a document object model |
JP6130335B2 (ja) | 2014-07-18 | 2017-05-17 | ヤフー株式会社 | 情報表示プログラム、配信装置、情報表示方法および情報表示装置 |
US20160034976A1 (en) | 2014-07-31 | 2016-02-04 | Yahoo!, Inc. | Advertisement presentation |
-
2016
- 2016-02-03 US US15/014,795 patent/US10585576B2/en active Active
- 2016-10-26 GB GB2117238.2A patent/GB2599271B/en active Active
- 2016-10-26 WO PCT/US2016/058833 patent/WO2017075033A1/en active Application Filing
- 2016-10-26 DE DE112016002579.3T patent/DE112016002579T5/de active Pending
- 2016-10-26 EP EP22215212.6A patent/EP4170489A1/en active Pending
- 2016-10-26 GB GB1720780.4A patent/GB2554622B/en active Active
- 2016-10-26 JP JP2017567733A patent/JP6586179B2/ja active Active
- 2016-10-26 EP EP16795189.6A patent/EP3295305B1/en active Active
- 2016-10-26 KR KR1020177035508A patent/KR102038640B1/ko active IP Right Grant
- 2016-10-26 CN CN201680034837.5A patent/CN108475200B/zh active Active
-
2020
- 2020-02-18 US US16/793,926 patent/US20200183559A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788975A (zh) * | 2009-01-23 | 2010-07-28 | 国际商业机器公司 | 控制文档滚动的方法和设备 |
CN102770828A (zh) * | 2010-02-09 | 2012-11-07 | 微软公司 | 用于人机界面的控制柄交互 |
US8307278B1 (en) * | 2011-09-26 | 2012-11-06 | Google Inc. | Tiling mechanism to combine web services |
Also Published As
Publication number | Publication date |
---|---|
GB201720780D0 (en) | 2018-01-24 |
GB202117238D0 (en) | 2022-01-12 |
US10585576B2 (en) | 2020-03-10 |
KR102038640B1 (ko) | 2019-11-29 |
GB2554622A (en) | 2018-04-04 |
KR20180020971A (ko) | 2018-02-28 |
US20200183559A1 (en) | 2020-06-11 |
WO2017075033A1 (en) | 2017-05-04 |
GB2554622B (en) | 2022-02-09 |
GB2599271B (en) | 2022-07-13 |
JP2018524723A (ja) | 2018-08-30 |
CN108475200A (zh) | 2018-08-31 |
DE112016002579T5 (de) | 2018-08-02 |
EP3295305A1 (en) | 2018-03-21 |
GB2599271A (en) | 2022-03-30 |
EP3295305B1 (en) | 2022-12-21 |
US20170115842A1 (en) | 2017-04-27 |
JP6586179B2 (ja) | 2019-10-02 |
EP4170489A1 (en) | 2023-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108475200B (zh) | 用于在无限滚动图形用户界面中归属滚动事件的系统和方法 | |
US10838609B2 (en) | Systems and methods for dynamically appending supplemental content to an information resource responsive to scroll activity | |
KR102019410B1 (ko) | 생성물의 랜딩 페이지에 기능적 확장들을 제공하는 방법들 및 시스템들 | |
CN109074214B (zh) | 控制信息资源的内容的显示的系统和方法 | |
US20230368250A1 (en) | Systems and methods for dynamically inserting content item slots in an information resource | |
US20210133823A1 (en) | Systems and methods for automatically managing placement of content slots in an information resource | |
CN108140196B (zh) | 使用客户端生成的点击标识符减少内容项交互的时延的系统和方法 | |
US20140033228A1 (en) | Configuring content display dimensions | |
EP3249554A1 (en) | Systems and methods for client-side dynamic information resource activation and deactivation |
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 |