|
@@ -85,57 +85,81 @@ var jyClabUtils = {
|
|
|
}
|
|
|
|
|
|
try {
|
|
|
+ jyClabUtils.init()
|
|
|
+
|
|
|
+ function initClabTracker () {
|
|
|
+ var trackURL = "https://cbe.huiju.cool/cbe/collect?tid=281617177&at=0&h=web"
|
|
|
|
|
|
- function checkHasJquery () {
|
|
|
- if (typeof jQuery === 'undefined') {
|
|
|
- return false
|
|
|
+ function loadJS (url, success) {
|
|
|
+ var scripts = document.getElementsByTagName('script')
|
|
|
+ for (var i = 0; i < scripts.length; i++) {
|
|
|
+ if (scripts[i].src && scripts[i].src.indexOf(url) > -1) {
|
|
|
+ if (success) success();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var domScript = document.createElement('script');
|
|
|
+ domScript.src = url;
|
|
|
+ success = success || function () {
|
|
|
+ };
|
|
|
+ domScript.onload = domScript.onreadystatechange = function () {
|
|
|
+ if (!this.readyState || 'loaded' === this.readyState || 'complete' === this.readyState) {
|
|
|
+ success();
|
|
|
+ this.onload = this.onreadystatechange = null;
|
|
|
+ //this.parentNode.removeChild(this);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ document.getElementsByTagName('head')[0].appendChild(domScript);
|
|
|
}
|
|
|
- return $.fn.jquery
|
|
|
- }
|
|
|
|
|
|
- function loadJS (url, success) {
|
|
|
- var scripts = document.getElementsByTagName('script')
|
|
|
- for (var i = 0; i < scripts.length; i++) {
|
|
|
- if (scripts[i].src && scripts[i].src.indexOf(url) > -1) {
|
|
|
- if (success) success();
|
|
|
- return;
|
|
|
+ function checkHasJquery () {
|
|
|
+ if (typeof jQuery === 'undefined') {
|
|
|
+ return false
|
|
|
}
|
|
|
+ return $.fn.jquery
|
|
|
}
|
|
|
- var domScript = document.createElement('script');
|
|
|
- domScript.src = url;
|
|
|
- success = success || function () {
|
|
|
- };
|
|
|
- domScript.onload = domScript.onreadystatechange = function () {
|
|
|
- if (!this.readyState || 'loaded' === this.readyState || 'complete' === this.readyState) {
|
|
|
- success();
|
|
|
- this.onload = this.onreadystatechange = null;
|
|
|
- //this.parentNode.removeChild(this);
|
|
|
+
|
|
|
+ /* 拦截 clab_chunk 注入 */
|
|
|
+ var injectionTrackStatus = true
|
|
|
+ if (injectionTrackStatus) {
|
|
|
+ var tempCAppend = document.head.appendChild
|
|
|
+ document.head.appendChild = function (t) {
|
|
|
+ if (t.tagName === 'SCRIPT' && t.src.indexOf('cbe.huiju.cool/cbe/clab_chunk.js') !== -1) {
|
|
|
+ t.src = '/common-module/track/clab_chunk.js'
|
|
|
+ }
|
|
|
+ return tempCAppend.bind(this)(t)
|
|
|
}
|
|
|
}
|
|
|
- document.getElementsByTagName('head')[0].appendChild(domScript);
|
|
|
- }
|
|
|
|
|
|
- function initClabTrack () {
|
|
|
- // 荟聚
|
|
|
- $('body').on('click','*[data-cl-event]', function () {
|
|
|
- clab_tracker && clab_tracker.track($(this).attr('data-cl-event'))
|
|
|
- })
|
|
|
- }
|
|
|
|
|
|
- jyClabUtils.init()
|
|
|
- // 荟聚
|
|
|
- loadJS('//cbe.huiju.cool/cbe/collect?tid=281617177&at=0&h=web', function () {
|
|
|
- clab_tracker.ready(function () {
|
|
|
- this.push({"pageType":"web"});
|
|
|
- this.track("open_page", jyClabUtils.getNowPageInfo());
|
|
|
- })
|
|
|
- })
|
|
|
+ /* 注册荟聚SDK */
|
|
|
+ function registerClabTarcker (tracker) {
|
|
|
+ if (typeof tracker !== 'undefined' && typeof tracker.track === 'function') {
|
|
|
+ clab_tracker = tracker
|
|
|
+ }
|
|
|
+ if (typeof clab_tracker !== 'undefined' && typeof clab_tracker.track === 'function') {
|
|
|
+ clab_tracker.ready(function () {
|
|
|
+ this.push({"pageType":"web"});
|
|
|
+ this.track("open_page", jyClabUtils.getNowPageInfo());
|
|
|
+ })
|
|
|
+ /* 自定义事件传递 */
|
|
|
+ if (checkHasJquery()) {
|
|
|
+ $('body').on('click','*[data-cl-event]', function () {
|
|
|
+ clab_tracker && clab_tracker.track($(this).attr('data-cl-event'))
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- if (checkHasJquery()) {
|
|
|
- initClabTrack()
|
|
|
- } else {
|
|
|
- loadJS('//cdn-common.jianyu360.com/cdn/lib/jquery/3.6.0/jquery.min.js', initClabTrack)
|
|
|
+ /* 判断环境 */
|
|
|
+ if (typeof System !== 'undefined' && typeof System.import === 'function') {
|
|
|
+ System.import(trackURL).then(registerClabTarcker);
|
|
|
+ } else {
|
|
|
+ loadJS(trackURL, registerClabTarcker)
|
|
|
+ }
|
|
|
}
|
|
|
+ // 荟聚
|
|
|
+ initClabTracker()
|
|
|
|
|
|
} catch (error) {
|
|
|
console.log(error)
|