UrlbarInput 参考

class UrlbarInput(options)

实现地址栏 UI 的文本输入部分。

参数:
  • options (object) – UrlbarInput 的初始选项。

  • options.textbox (object) – 容器元素。

UrlbarInput.UrlbarInput
UrlbarInput._autofillFirstResult(result)

当控制器接收到新搜索的第一个结果时调用。如果它是自动填充结果,则可能需要自动填充,但需满足一些限制条件。

参数:
  • result (UrlbarResult) – 第一个结果。

UrlbarInput._autofillValue(options)

将值自动填充到输入框中。无论输入框当前值是什么,该值都将被自动填充。

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

  • options.value (string) – 要自动填充的值。

  • options.selectionStart (integer) – 新的 selectionStart。

  • options.selectionEnd (integer) – 新的 selectionEnd。

  • options.type ("origin"|"url"|"adaptive") – 自动填充类型,其中之一:“origin”、“url”、“adaptive”

  • options.adaptiveHistoryInput (string) – 如果自动填充类型为“adaptive”,则这是来自自适应历史记录的匹配 input 值。

  • options.untrimmedValue (string) – 包含协议的未修剪值。

UrlbarInput._loadURL(url, event, openUILinkWhere, params, resultDetails, browser)

在适当的位置加载 url。

参数:
  • url (string) – 要打开的 URL。

  • event (Event) – 触发加载 url 的事件。

  • openUILinkWhere (string) – 我们期望结果打开的位置。

  • params (object) – 与如何以及在何处打开结果相关的参数。utilityOverlay.js#openUILinkIn 中列出了其他支持的参数。

  • params.triggeringPrincipal (object) – 触发该操作的权限。

  • params.postData (nsIInputStream) – 与搜索提交关联的 POST 数据。

  • params.allowInheritPrincipal (boolean) – 权限是否可以被继承。

  • params.wasSchemelessInput (boolean) – 搜索/URL 术语是否没有显式方案。

  • resultDetails (object) – 选定结果的详细信息(如果有)。

  • resultDetails.type (UrlbarUtils.RESULT_TYPE) – 结果类型的详细信息(如果有)。

  • resultDetails.searchTerm (string) – 结果源的搜索词(如果有)。

  • resultDetails.source (UrlbarUtils.RESULT_SOURCE) – 结果源的详细信息(如果有)。

  • browser (object) – [可选] 用于加载的浏览器。

UrlbarInput._maybeAutofillPlaceholder(value)

如果合适,则自动填充自动填充占位符字符串,并确定是否应允许在输入事件启动的新搜索中进行自动填充。

参数:
  • value (string) – 新的搜索字符串。

返回值:

boolean – 新搜索中是否应允许自动填充。

UrlbarInput._maybeCanonizeURL(event, value)

如果合适,在导航之前,此方法会在搜索字符串前添加“www.”,并在其后添加 browser.fixup.alternate.suffix。

参数:
  • event (Event) – 触发此查询的事件。

  • value (string) – 应规范化的搜索字符串。

返回值:

string – 如果可用,则返回规范化的 URL,否则返回 null。

UrlbarInput._maybeSelectAll()
根据 Urlbar 状态以及选择是否为空,确定我们是否应选择 Urlbar 中的所有文本。

Urlbar 状态,以及选择是否为空。

UrlbarInput._notifyStartNavigation(result)

此方法通知观察者,用户已在 URL 栏中输入或选择了某些内容,这将导致导航。

我们使用观察者服务,这样我们就不需要在未使用额外功能(例如 WebNavigation)时加载它们。

参数:
  • result (UrlbarResult) – 选定结果的详细信息(如果有)。

UrlbarInput._recordSearch(engine, event, searchActionDetails)

在遥测中记录正在加载的搜索,更新首选项中的搜索递增总数,并通过触发发送通知 ASRouter 搜索已发生。

参数:
  • engine (nsISearchEngine) – 用于生成查询的引擎。

  • event (Event) – 触发此查询的事件。

  • searchActionDetails (object) – 与此搜索查询关联的详细信息。

  • searchActionDetails.isSuggestion (boolean) – 如果此查询是从搜索引擎的建议发起的,则为 True。

  • searchActionDetails.alias (boolean) – 如果此查询是通过搜索别名发起的,则为 True。

  • searchActionDetails.isFormHistory (boolean) – 如果此查询是从表单历史记录结果发起的,则为 True。

  • searchActionDetails.url (string) – 触发此查询的 url。

UrlbarInput._resetSearchState()

重置某些状态,以便用户之前与输入交互的搜索不会干扰新交互的搜索。

UrlbarInput._searchModeForResult(result, entry="null")

如果结果在选中时应进入搜索模式,则返回搜索模式对象。

参数:
  • result (UrlbarResult) – 要检查的结果。

  • entry (string) – 如果提供,这将被记录为进入搜索模式的入口点。有关详细信息,请参阅 setSearchMode() 文档。

返回值:

object – 搜索模式对象。如果不应该进入搜索模式,则为 Null。有关详细信息,请参阅 setSearchMode 文档。

UrlbarInput._setValue(val, options)

设置输入字段的值。

参数:
  • val (string) – 要设置的新值。

  • options (object) – 设置选项。

  • options.allowTrim (boolean) – 值是否可以被修剪。

  • options.untrimmedValue (string) – 覆盖 this._untrimmedValue。

  • options.valueIsTyped (boolean) – 覆盖 this.valueIsTypede。

  • options.actionType (string) – actiontype 属性的值。

返回值:

string – 设置的值。

UrlbarInput._trimValue(val)

缩短给定值,通常是通过删除 http:// 和尾部斜杠。

参数:
  • val (string) – 如果该字符串看起来像是 URI,则将其修剪。

返回值:

string – 已修剪的字符串

UrlbarInput._updateSearchModeUI(searchMode)

更新 UI,以便进入或退出搜索模式。

参数:
  • searchMode (object) – 请参阅 setSearchMode 文档。如果为 null,则退出搜索模式。

UrlbarInput._whereToOpen(event)

确定应在何处打开 URL/页面。

参数:
  • event (Event) – 触发打开的事件。

返回值:

"current"|"tabshifted"|"tab"|"save"|"window"

UrlbarInput.afterTabSwitchFocusChange()

快速切换标签页时,TabSelect 有时会在 _adjustFocusAfterTabSwitch 之前发生,并且由于焦点仍在旧标签页上,因此我们最终会短暂闪烁结果窗格。

UrlbarInput.confirmSearchMode()

确认当前搜索模式。

UrlbarInput.formatValue()

根据文本内容为 urlbar 输入框中的文本应用样式。

UrlbarInput.getSearchMode(browser, confirmedOnly=false)

获取特定浏览器实例的搜索模式。

参数:
  • browser (Browser) – 将返回此浏览器的搜索模式。

  • confirmedOnly (boolean) – 通常,如果浏览器同时具有预览模式和确认模式,则将返回预览模式,因为它具有优先级。如果此参数为 true,则仅返回确认的搜索模式,如果搜索模式尚未确认,则返回 null。

返回值:

object – 搜索模式对象。请参阅 setSearchMode 文档。如果浏览器未处于搜索模式,则返回 null。

UrlbarInput.getSearchSource(event)

获取搜索源。

参数:
  • event (Event) – 触发此查询的事件。

返回值:

string – 源名称。

UrlbarInput.handleCommand(event=null)

处理可能打开文本或 URL 的事件。如果事件需要这样做,handleCommand 会将其转发到 handleNavigation。

参数:
  • event (Event) – 触发打开操作的事件。

UrlbarInput.handleEvent(event)

将 DOM 事件传递给 _on_<event type> 方法。

参数:
  • event (Event) – 要处理的事件。

UrlbarInput.handleNavigation(options)

处理导致打开 URL 或文本的事件。

参数:
  • options (object) – 导航选项。

  • options.event (Event) – 触发打开操作的事件。

  • options.oneOffParams (HandleNavigationOneOffParams) – 可选。如果此导航是由一次性操作触发的,则传递此参数。实际上,当用户在选择一次性操作时按住某些键修饰符时,UrlbarSearchOneOffs 会在传递此参数。在这种情况下,我们将使用一次性操作的引擎立即执行搜索,而不是进入搜索模式。

  • options.triggeringPrincipal (object) – 触发操作的主体。

UrlbarInput.handoff(searchString, searchEngine, newtabSessionId)

由类似于搜索框但实际上将输入传递给 Urlbar 的输入调用。我们在新标签页和 about:privatebrowsing 上使用这些伪输入。

参数:
  • searchString (string) – 要使用的搜索字符串。

  • searchEngine (nsISearchEngine) – 可选。如果包含并设置了正确的首选项,我们将在将 searchString 从伪输入传递到 Urlbar 时进入搜索模式。

  • newtabSessionId (string) – 可选。传递此搜索的新标签页会话的 ID。

UrlbarInput.makeURIReadable(uri)

将内部 URI(例如,带有用户名或密码的 URI)转换为我们可以公开给用户的 URI。

参数:
  • uri (nsIURI) – 要转换的 URI

返回值:

nsIURI – 已转换的可公开访问的 URI

UrlbarInput.maybeConfirmSearchModeFromResult(options)

如果给定结果合适,则确认搜索模式并开始新的搜索。另请参阅 _searchModeForResult。

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

  • options.entry (string) – 搜索模式入口点。有关详细信息,请参阅 setSearchMode 文档。

  • options.result (UrlbarResult) – 要确认的结果。默认为当前选定的结果。

  • options.checkValue (boolean) – 如果为 true,则修剪后的输入值必须等于结果的关键字才能进入搜索模式。

  • options.startQuery (boolean) – 如果为 true,则在进入搜索模式后启动查询。默认为 true。

返回值:

boolean – 如果我们进入了搜索模式则为 true,否则为 false。

UrlbarInput.onFirstResult(firstResult)

在收到第一个结果时由控制器调用。

参数:
  • firstResult (UrlbarResult) – 收到的第一个结果。

返回值:

boolean – 如果此方法取消了查询并启动了新的查询,则为 true。否则为 false。

UrlbarInput.pickElement(element, event)

当选择视图的元素时调用。

参数:
  • element (Element) – 已选择的元素。

  • event (Event) – 选择元素的事件。

UrlbarInput.pickResult(result, event, element=null, browser)

当选择结果时调用。

参数:
  • result (UrlbarResult) – 已选择的结果。

  • event (Event) – 选择结果的事件。

  • element (DOMElement) – 如果可用,则为选定的视图元素。

  • browser (object) – 用于加载的浏览器。

UrlbarInput.removeHiddenFocus(forceSuppressFocusBorder=false)

恢复焦点样式。活动流和 about:privatebrowsing 用于搜索传递。

参数:
  • forceSuppressFocusBorder (Browser) – 如果此标志为 true,则设置为 true 以取消 focus-border 属性。

UrlbarInput.restoreSearchModeState()

从先前存储的状态恢复当前浏览器的搜索模式。

UrlbarInput.sanitizeTextFromClipboard(clipboardData)

清理和处理从剪贴板检索的数据

参数:
  • clipboardData (string) – 从剪贴板检索的原始数据。

返回值:

string – 已清理的粘贴数据,可供使用。

UrlbarInput.search(value, options)

设置输入的值,开始搜索,并打开视图。

参数:
  • value (string) – 输入的值将设置为此值,搜索将使用它作为其查询。

  • options (object) – 对象选项

  • options.searchEngine (nsISearchEngine) – 搜索使用已知别名时要使用的搜索引擎。

  • options.searchModeEntry (UrlbarUtils.SEARCH_MODE_ENTRY) – 如果提供,我们将记录此参数作为遥测中的搜索模式入口点。如果使用者预计其调用将进入搜索模式,则应提供此参数。

  • options.focus (boolean) – 如果为 true,则 urlbar 将获得焦点。如果为 false,则焦点将保持不变。

  • options.startQuery (boolean) – 如果为 true,则通过触发输入事件启动查询以显示 urlbar 结果。如果为 false,则不触发事件。

UrlbarInput.searchModeShortcut()

使用默认引擎进入搜索模式。

UrlbarInput.setHiddenFocus()

无需焦点样式即可聚焦。活动流和 about:privatebrowsing 用于搜索传递。

UrlbarInput.setPageProxyState(state, updatePopupNotifications)

更新用户界面以指示地址栏中的 URI 是否与加载的页面不同,因为它是正在编辑的,或者因为当前选择了搜索结果并显示在地址栏中。

参数:
  • state (string) – 字符串“valid”表示应显示安全指示器和其他相关用户界面元素,因为地址栏中的 URI 与加载的页面匹配。字符串“invalid”表示地址栏中的 URI 与加载的页面不同。

  • updatePopupNotifications (boolean) – 指示我们是否应由于此更改而更新 PopupNotifications 的可见性,否则避免这样做,因为它在其他地方处理。

UrlbarInput.setResultForCurrentValue(result)

输入会跟踪与当前输入值关联的结果。可以通过调用 setValueFromResult 或此方法来设置此结果。当您需要设置结果而不设置输入值时,请使用此方法。当选择被清除且没有其他结果被选中时,或者当结果是启发式结果且我们不想修改用户正在键入的值时,情况可能如此。

参数:
  • result (UrlbarResult) – 要与当前输入值关联的结果。

UrlbarInput.setSearchMode(searchMode, browser)

为特定浏览器实例设置搜索模式。如果选择了给定的浏览器,则这也将进入搜索模式。

参数:
  • searchMode (object) – 搜索模式对象。

  • searchMode.engineName (string) – 要限制到的搜索引擎的名称。

  • searchMode.source (UrlbarUtils.RESULT_SOURCE) – 要限制到的结果源。

  • searchMode.entry (string) – 如何进入搜索模式。这记录在事件遥测中。UrlbarUtils.SEARCH_MODE_ENTRY 中的一个值。

  • searchMode.isPreview (boolean) – 如果为 true,我们将预览搜索模式。搜索模式预览不会记录遥测数据,并且具有略微不同的 UI 行为。在执行查询时,将退出预览以支持完整搜索模式。如果调用者需要进入搜索模式但预计不会立即与之交互,则应传递 false。默认为 true。

  • 浏览器 (Browser) – 设置搜索模式的目标浏览器。

UrlbarInput.setURI(uri=null, dueToTabSwitch=false, dueToSessionRestore=false, hideSearchTerms=false, isSameDocument=false)

设置在地址栏中显示的 URI。

参数:
  • uri (nsIURI) – 如果未指定,则使用当前 URI。

  • dueToTabSwitch (boolean) – 如果是由于切换标签页而调用此方法,则为真,否则为假。

  • dueToSessionRestore (boolean) – 如果是由于会话恢复而调用此方法,则为真,否则为假。

  • hideSearchTerms (boolean) – 如果 userTypedValue 不应被搜索词覆盖,则为真,否则为假。

  • isSameDocument (boolean) – 如果 setURI 的调用者加载了一个新的文档,则为真,否则为假(例如,位置更改来自锚点滚动或 pushState 事件)。

UrlbarInput.setValueFromResult(options)

当使用键盘在结果中移动以及选择结果时,由视图调用。这会将输入值设置为结果的值并使 pageproxystate 无效。它还设置与当前输入值关联的结果。如果您需要设置此结果但不想也设置输入值,则使用 setResultForCurrentValue。

参数:
  • options (object) – 选项。

  • options.result (UrlbarResult) – 已选择或选取的结果,如果未选择任何结果,则为 null。

  • options.event (Event) – 选择结果的事件。

  • options.urlOverride (string) – 通常,URL 取自 result.payload.url,但如果指定了 urlOverride,则使用它。

返回值:

布尔值 – 值是否已规范化

UrlbarInput.startQuery(options)

根据当前输入值启动查询。

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

  • options.allowAutofill (boolean) – 是否允许提供程序包含自动填充结果。

  • options.autofillIgnoresSelection (boolean) – 通常,我们仅在光标位于字符串末尾时才进行自动填充,如果设置了此选项,我们将无论选择情况如何都进行自动填充。

  • options.searchString (string) – 搜索字符串。如果未给出,则使用当前输入值。否则,当前输入值必须以该值开头。

  • options.resetSearchState (boolean) – 如果这是用户与输入交互的第一次搜索,则将其设置为 true(默认值),以便先前交互的搜索相关状态不会干扰新交互。否则将其设置为 false,以便在单个交互期间保持状态。此参数的预期用途是,当由于输入事件调用此方法时,应将其设置为 false。

  • options.event (event) – 触发查询的用户生成事件(如果有)。如果给出,我们将记录查询的参与事件遥测。

UrlbarInput.updateTextOverflow()

在溢出/下溢/滚动结束事件上调用,以更新与输入文本方向相关的属性。溢出淡出蒙版使用这些属性在 urlbar 的正确一侧出现。