We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
latest
首先我得说下我思考这个问题的场景,那就是主题适配 Pjax 的时候的,因为你们作为博客的开发者确实是可以忽略由 Pjax 适配带来的任何问题的,所以我特地先交代下背景,下面的建议只提供参考不做任何要求。 我看了下 halo-tracker.js 的混淆压缩代码,大抵是获取自身 script 标签上携带的一些属性和页面的其他参数,然后构造统计相关的请求方法,并把它绑定到 readystatechange 事件上。 其实上面说的具体实现都不重要,重要的是两个问题:
readystatechange
这样的话,在 pjax 请求下,访问任何其他网页都会触发同样统计参数的同一个请求方法。所以,希望不要轻易的将固定统计参数的请求方法绑定到 readystatechange 或者 DOMContentLoaded 事件上,这可能不是优雅的做法。 对应的给出两个建议:
DOMContentLoaded
No response
The text was updated successfully, but these errors were encountered:
/kind improvement /area core
PR welcome:)
Sorry, something went wrong.
No branches or pull requests
前置条件
你当前使用的版本
latest
描述一下此特性
首先我得说下我思考这个问题的场景,那就是主题适配 Pjax 的时候的,因为你们作为博客的开发者确实是可以忽略由 Pjax 适配带来的任何问题的,所以我特地先交代下背景,下面的建议只提供参考不做任何要求。
我看了下 halo-tracker.js 的混淆压缩代码,大抵是获取自身 script 标签上携带的一些属性和页面的其他参数,然后构造统计相关的请求方法,并把它绑定到
readystatechange
事件上。其实上面说的具体实现都不重要,重要的是两个问题:
readystatechange
事件上,且无法删除。这样的话,在 pjax 请求下,访问任何其他网页都会触发同样统计参数的同一个请求方法。所以,希望不要轻易的将固定统计参数的请求方法绑定到
readystatechange
或者DOMContentLoaded
事件上,这可能不是优雅的做法。对应的给出两个建议:
readystatechange
事件,参考搜索/评论组件的做法,使用组件声明的形式来进行统计,直接用内联形式的 script 标签执行。(推荐)readystatechange
事件,但请求方法中的参数不能是静态固定的,而是动态的获取当前 script 标签上的属性、当前页面的参数。(最小改动,相对妥协)之所以要动态绑定,相当于向外暴露了这个统计接口,主题适配者可以去更改其上的统计参数,使其正常服务于 pjax 中。附加信息
No response
The text was updated successfully, but these errors were encountered: