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 状态,以及选择是否为空。
此方法通知观察者,用户已在 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) – 要处理的事件。
处理导致打开 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 的正确一侧出现。