UrlbarView 参考

class UrlbarView(input)

接收并显示地址栏自动完成结果。

参数:
  • input (UrlbarInput) – 属于此 UrlbarView 实例的 UrlbarInput 实例。

UrlbarView.UrlbarView
UrlbarView.isOpen

面板是否打开。

UrlbarView.selectedElement
UrlbarView.selectedResult
UrlbarView.visibleRowCount
UrlbarView.autoOpen(options)

这可以用于在特定用户操作的结果下自动打开视图。对于热门网站搜索(没有搜索字符串),视图仅在鼠标或键盘交互时打开。如果用户放弃了搜索(存在搜索字符串),则重新打开视图,我们尝试使用缓存的结果来减少闪烁,然后启动一个新的查询以刷新结果。

参数:
  • options (对象) – 选项对象

  • options.event (事件) – 与调用 autoOpen 关联的事件。

  • options.suppressFocusBorder (布尔值) – 如果为真,则在打开面板时隐藏焦点边框。默认情况下为真,以避免在单击未聚焦的地址栏时闪烁边框。

返回值:

布尔值 – 视图是否已打开。

UrlbarView.clearSelection()

清除选择,无论视图状态如何。

UrlbarView.close(options)

关闭视图,如有必要取消查询。

参数:
  • options (对象) – 选项对象

  • options.elementPicked (布尔值) – 如果视图因选择结果而关闭,则为真。

  • options.showFocusBorder (布尔值) – 如果在视图关闭后应显示 Urlbar 焦点边框,则为真。

UrlbarView.getFirstSelectableElement()

返回视图中第一个可通过键盘选择的元素。

返回值:

元素 – 视图中第一个可选择的元素。

UrlbarView.getLastSelectableElement()

返回视图中最后一个可通过键盘选择的元素。

返回值:

元素 – 视图中最后一个可选择的元素。

UrlbarView.getResultAtIndex(index)
参数:
  • index (数字) – 要从中获取结果的索引。

返回值:

UrlbarResult – 索引 index 处的结果。如果视图已关闭或没有结果,则为 null。

UrlbarView.getResultFromElement(element)

返回包含给定元素的行或元素本身(如果它本身是一行)的结果。

参数:
  • element (元素) – 视图中的一个元素。

返回值:

UrlbarResult – 元素所在行的结果。

UrlbarView.handleEvent(event)

将视图的 DOM 事件传递给 on_<event type> 方法。

参数:
  • event (事件) – 来自 <view> 的 DOM 事件。

UrlbarView.hideTemporarily()

隐藏显示 Urlbar 结果的弹出窗口。弹出窗口仍被视为“打开”,这不会触发放弃遥测,但不会显示给用户。

UrlbarView.invalidateResultMenuCommands()

清除结果菜单命令缓存,删除所有结果的缓存命令。当一个或多个结果的命令在结果保留在视图中时发生更改时,这很有用。

UrlbarView.onQueryResultRemoved(index)

当从查询中删除结果时,处理从视图中删除结果,并尝试选择同一行上的新结果。

这假设结果行按索引顺序排列。

参数:
  • index (数字) – 已删除的结果的索引。

UrlbarView.restoreVisibility()

hideTemporarily 隐藏后显示 Urlbar 结果弹出窗口

UrlbarView.resultIsSelected(result)
参数:
  • result (UrlbarResult) – 一个结果。

返回值:

布尔值 – 如果给定结果被选中,则为真。

UrlbarView.selectBy(amount, options)

向前或向后移动视图选择。

参数:
  • amount (数字) – 移动的步数。

  • options (对象) – 选项对象

  • options.reverse (布尔值) – 设置为 true 以选择上一个项目。默认情况下将选择下一个项目。

  • options.userPressedTab (布尔值) – 如果用户按 Tab 键选择结果,则设置为 true。默认为 false。

UrlbarView.shouldSpaceActivateSelectedElement()
返回值:

布尔值 – SPACE 键是否应激活选定的元素(如果有),而不是添加到输入值中。

static UrlbarView.addDynamicViewTemplate(name, viewTemplate)

注册动态结果类型的视图模板。视图模板是一个普通对象,描述了动态结果类型的 DOM 子树。当动态结果显示在地址栏视图中时,其类型的视图模板用于构建表示结果的视图部分。

指定的视图模板将对所有当前和未来的浏览器窗口中的地址栏可用,直到它被注销。给定的动态结果类型最多只有一个视图模板。如果对某个动态结果类型多次调用此方法,则最后一次调用的视图模板会覆盖之前调用的视图模板。

参数:
  • name (string) – 视图模板将为具有此名称的动态结果类型注册。

  • viewTemplate (object) – 此对象描述了给定动态结果类型的 DOM 子树。它应该是一个树状嵌套结构,其中嵌套中的每个对象都表示要创建的 DOM 元素。这种树状结构是使用下面描述的 children 属性实现的。结构中的每个对象可能包含以下属性:{string} name 对象的名称。对于结构中的所有对象(根对象除外)都是必需的,并且有两个重要的作用:(1) 为对象创建的元素将自动具有名为 urlbarView-dynamic-${dynamicType}-${name} 的类,其中 dynamicType 是动态结果类型的名称。该元素还将自动具有一个名为“name”的属性,其值为此名称。该类和属性允许在 CSS 中设置元素的样式。(2) 在更新视图时使用名称。请参阅 UrlbarProvider.getViewUpdate()。名称在视图模板内必须唯一,但不需要全局唯一。即,两个不同的视图模板可以使用相同的名称,并且其他 DOM 元素可以在其 ID 和类中使用相同的名称。名称也作为动态元素 ID 的后缀:名称为 data 的元素将获得 ID urlbarView-row-{unique number}-data。如果未为根元素提供名称,则根元素将不会获得 ID。{string} tag 对象的标签名称。对于结构中的所有对象(根对象除外)都是必需的,并声明将为对象创建的元素类型:span、div、img 等。{object} [attributes] 属性名称到值的可选映射。对于每个名称-值对,都会向为对象创建的元素添加一个属性。 id 属性是保留的,无法由提供程序设置。如果需要,元素 ID 将在 getViewUpdate 中传递回提供程序。{array} [children] 子元素的可选列表。数组中的每个项目都必须是此处描述的对象。对于每个项目,都会创建一个由该项目描述的子元素,并将其添加到为父对象创建的元素中。{array} [classList] 类别名称的可选列表。通过调用 element.classList.add() 将每个类添加到为对象创建的元素中。{boolean} [overflowable] 如果为 true,则将跟踪元素的溢出状态,以便在需要时将其淡出。{string} [stylesheet] 可选的样式表 URL。此属性仅在结构中的根对象上有效。样式表将在所有浏览器窗口中加载,以便可以设置动态结果类型视图的样式。

static UrlbarView.removeDynamicViewTemplate(name)

注销动态结果类型的视图模板。

参数:
  • name (string) – 将为具有此名称的动态结果类型注销视图模板。