mirror of
https://github.com/docsifyjs/docsify.git
synced 2025-12-08 19:55:52 +00:00
46 lines
1.0 KiB
JavaScript
46 lines
1.0 KiB
JavaScript
// From https://github.com/egoist/vue-ga/blob/master/src/index.js
|
|
|
|
function appendScript () {
|
|
const script = document.createElement('script')
|
|
script.async = true
|
|
script.src = 'https://www.google-analytics.com/analytics.js'
|
|
document.body.appendChild(script)
|
|
}
|
|
|
|
function init (id) {
|
|
if (!window.ga) {
|
|
appendScript()
|
|
window.ga = window.ga || function () {
|
|
(window.ga.q = window.ga.q || []).push(arguments)
|
|
}
|
|
window.ga.l = Number(new Date())
|
|
window.ga('create', id, 'auto')
|
|
}
|
|
}
|
|
|
|
function collect () {
|
|
init(window.$docsify.ga)
|
|
window.ga('set', 'page', location.href)
|
|
window.ga('send', 'pageview')
|
|
}
|
|
|
|
const install = function () {
|
|
if (install.installed) return
|
|
install.installed = true
|
|
|
|
if (!window.Docsify || !window.Docsify.installed) {
|
|
console.error('[Docsify] Please load docsify.js first.')
|
|
return
|
|
}
|
|
|
|
if (!window.$docsify.ga) {
|
|
console.error('[Docsify] ga is required.')
|
|
return
|
|
}
|
|
|
|
collect()
|
|
window.$docsify.plugins = [].concat(window.$docsify.plugins, collect)
|
|
}
|
|
|
|
export default install()
|