这是我所拥有的:
- 在单个 HTML 页面(称为它
myapp.req
)中运行的 Web 应用程序,内容通过 AJAX 来来往往 - 应用程序可以通过一个链接从外部进入,例如
myapp.req?id=123
,应用程序会打开一个标签,其中包含 id 123 处的项目 - 页面内容多为用户内容,很多时候有应用内链接
myapp.req?id=123
- 问题是单击链接以
myapp.req?id=123
重新加载浏览器,并删除用户已加载的任何内容或状态
我想要的是能够捕获目标为 的链接点击myapp.req?id=123
,而不是重新加载页面,只需打开项目 123 的选项卡,留下当前加载的任何其他内容。但是,如果链接是针对外部网站的,那么显然只需让浏览器离开即可。
所以我的问题真的是:我可以有一个全局链接处理程序来检查我是否要处理链接点击,如果是,运行一些 Javascript 并且不要离开?
我知道我可以找到所有<a>
s 并添加侦听器,但我希望该解决方案只需要设置一次侦听器,而不是每次在页面上加载新内容时都添加链接处理程序。由于可以通过多种不同方式加载内容,因此向所有这些地方添加代码会很麻烦。
那有意义吗?