仅当用户更改URL时如何触发事件?

仅当用户更改URL时如何触发事件?,第1张

仅当用户更改URL时如何触发事件?

您可以使用(MDN)事件获取此信息。事件侦听器接收属性(MDN),该属性根据导航的原因将是不同的值(MDN)。哪个值,您触发将取决于 正是
您所渴望的东西。对于你的描述,你可能会想(MDN),但也有可能(MDN),(MDN)和/或(MDN)。

webNavigation.onCommitted
transitionType

__
'typed'
'generated'
'keyword'
'keyword_generated'


可能的值列表在Chrome的History
API页面
上进行了

webNavigation
说明(它们在Chrome
页面上列出,但在此处未进行说明)(在MDN:上
TransitionType
)(Chrome History
API页面上的文字):

  • "link"

    用户通过单击另一页面上的链接进入该页面。
  • "typed"

用户通过在地址栏中输入URL来获得此页面。也用于其他显式导航 *** 作。另请参阅(MDN),它用于用户选择的选项看上去完全不像URL的情况。

generated

*
"auto_bookmark"

用户通过UI中的建议(例如,通过菜单项)进入了此页面。
*
"auto_subframe"

子帧导航。这是在非顶级框架中自动加载的所有内容。例如,如果页面由包含广告的多个框架组成,则这些广告URL具有这种过渡类型。用户甚至可能没有意识到这些页面中的内容是一个单独的框架,因此可能不在乎URL(另请参阅(MDN))。

manual_subframe

*
"manual_subframe"

对于用户明确请求的子帧导航,并在后退/前进列表中生成新的导航条目。显式请求的帧可能比自动加载的帧更重要,因为用户可能关心请求的帧已加载的事实。
*
"generated"

用户通过输入地址栏并选择一个看起来不像URL的条目来进入此页面。例如,一个匹配项可能具有Google搜索结果页面的URL,但对用户来说可能显示为“在Google搜索…”。这些与(MDN)导航不太一样,因为用户没有键入或看到目标URL。另请参阅(MDN)。

typed
keyword

*
"auto_toplevel"

该页面是在命令行中指定的,或者是起始页面。
*
"form_submit"

用户在表单中填写值并提交。请注意,在某些情况下(例如,当表单使用脚本提交内容时),提交表单不会导致这种过渡类型。
*
"reload"

用户通过单击重新加载按钮或在地址栏中按Enter来重新加载页面。会话还原和“重新打开已关闭”选项卡也使用此过渡类型。
*
"keyword"

该URL是从默认搜索提供程序以外的可替换关键字生成的。另请参阅(MDN)。
keyword_generated

*
"keyword_generated"

对应于为关键字生成的访问。另请参阅(MDN)。
keyword

为了区分某些过渡类型,除了这些

transitionType
值外,您还需要查看(MDN)。可能的值是(来自Chrome文档,在MDN上有一些不同的描述):
TransitionQualifier

  • "client_redirect"

    页面上的Javascript或元刷新标签引起的一次或多次重定向在导航期间发生。
  • "server_redirect"

    在导航期间,发生了由服务器发送的HTTP标头引起的一个或多个重定向。
  • "forward_back"

    用户使用前进或后退按钮来启动导航。
  • "from_address_bar"

    用户从地址栏(也称为多功能框)启动了导航。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5639401.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存