亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在網頁中與 timeonsitetracker.js API 集成時如何獲取實時

在網頁中與 timeonsitetracker.js API 集成時如何獲取實時

慕哥9229398 2022-11-11 13:18:47
我在網頁中集成了 JS timeonsite 庫timeonsitetracker.js,如文檔中所示,<script type="text/javascript">var Tos;(function(d, s, id, file) {    var js, fjs = d.getElementsByTagName(s)[0];    if (d.getElementById(id)) return;    js = d.createElement(s);    js.id = id;    js.onload = function() {        var config = {            trackBy: 'seconds',            developerMode: true        };        if(TimeOnSiteTracker) {            Tos = new TimeOnSiteTracker(config);        }    };    js.src = file;fjs.parentNode.insertBefore(js, fjs); } (document, 'script', 'TimeOnSiteTracker', '//cdn.jsdelivr.net/gh/saleemkce/[email protected]/timeonsitetracker.min.js'));</script>調用 Tos 對象后,Tos.getTimeOnPage();{    TOSId: 13650383319214852    TOSSessionKey: "6606159448467693493359"    TOSUserId: "anonymous"    URL: "https://localhost/index.html"    currentTime: "2020-07-11 16:25:17.908"    entryTime: "2020-07-11 16:24:36.911"    timeOnPage: 41    timeOnPageByDuration: "0d 00h 00m 41s"    timeOnPageTrackedBy: "second"    timeOnSite: 0    timeOnSiteByDuration: "0d 00h 00m 00s"    title: "real-time demo"    trackingType: "tos"}在調用Tos.getTimeOnPage() API 時,我看到“ timeOnSite ”始終為“0”,但 timeOnPage 會定期更新。但是在刷新頁面時,我得到了更新的timeOnPage,timeOnSite在 DB 中由跟蹤器自動保存。有沒有辦法在頁面上獲取實時“ timeonsite ”參數而不刷新演示頁面中給出的整個頁面?
查看完整描述

2 回答

?
largeQ

TA貢獻2039條經驗 獲得超8個贊

在演示頁面中,他們所做的基本上是:


$(document).ready(function() {

   

    setInterval(function() {

    

    $('#timeOnSiteDuration').html(Tos.secondToDuration((Tos.getTimeOnPage()).timeOnSite + (Tos.getTimeOnPage()).timeOnPage));

                    

   }, 1000);


}

他們在 document.ready 中設置了 1 秒的間隔,以使用現場計算時間更新 id='timeOnSiteDuration' 的 'div'。


我認為您可以做的解決方案是這樣的:使用 setInterval 并計算現場時間:


Tos.secondToDuration((Tos.getTimeOnPage()).timeOnSite + (Tos.getTimeOnPage()).timeOnPage)

您可以將此 calc 設置為變量或像演示頁面一樣,直接在 html 中顯示。


查看完整回答
反對 回復 2022-11-11
?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

除了 Luis 的回答之外,我還可以通過鍵入以下內容從瀏覽器控制臺獲取實時的現場參數:

console.log((Tos.getTimeOnPage()).timeOnSite + (Tos.getTimeOnPage()).timeOnPage);

61(秒)


console.log(Tos.secondToDuration((Tos.getTimeOnPage()).timeOnSite + (Tos.getTimeOnPage()).timeOnPage));

0d 00h 01m 01s(1 分 1 秒)


但是,它應該包含在 1 秒的setInterval()中,以便實時獲取站點數據的美好時光。

瀏覽演示代碼后,我知道這僅適用于非 IOS 瀏覽器,因為 IOS 似乎不支持window.unload事件。

對于 IOS 設備,以下代碼塊非常適合獲取實時現場數據。

$(document).ready(function() {


//Timer module data binding

setInterval(function() {

    /*for IOS demo only */


    var isIOSDeviceInst = true;  // In case it's an IOS browser; set this value dynamically


    var IOSPeriodicData;

    var dateObj = (new Date());

    var currentDayKey = 'TOS_' + (dateObj.getMonth() + 1) + '_' + dateObj.getDate() + '_' + dateObj.getFullYear();

    var dataItem = localStorage.getItem(currentDayKey);

    if (dataItem) {

        IOSPeriodicData = JSON.parse(dataItem);

    }

    var timeOnSiteIOS;

    /*for IOS demo only */


    

    if (isIOSDeviceInst && IOSPeriodicData) {

        // > v1.2.0

        var timeOnSiteInitIOSDynamic = (Tos.getTimeOnPage()).timeOnSite;

        timeOnSiteIOS = (timeOnSiteInitIOSDynamic < Tos.getTimeOnPage().timeOnPage) ? Tos.getTimeOnPage().timeOnPage : timeOnSiteInitIOSDynamic;

        $('#timeOnSiteRaw').html(timeOnSiteIOS);


        // v1.1.0

        // $('#timeOnSiteRaw').html(IOSPeriodicData[0].timeOnSite);

    } else {

        $('#timeOnSiteRaw').html((Tos.getTimeOnPage()).timeOnSite + (Tos.getTimeOnPage()).timeOnPage);

    }


    if (isIOSDeviceInst && IOSPeriodicData) {

        // > v1.2.0

        $('#timeOnSiteDuration').html(Tos.secondToDuration(timeOnSiteIOS));


        //v1.1.0

        // $('#timeOnSiteDuration').html(Tos.secondToDuration(IOSPeriodicData[0].timeOnSite));

    } else {

        $('#timeOnSiteDuration').html(Tos.secondToDuration((Tos.getTimeOnPage()).timeOnSite + (Tos.getTimeOnPage()).timeOnPage));

    }

}, 1000);


查看完整回答
反對 回復 2022-11-11
  • 2 回答
  • 0 關注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號