PluginProbe
Independent Analytics – WordPress Analytics Plugin / 2.8.7
Independent Analytics – WordPress Analytics Plugin v2.8.7
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 All 120 releases
independent-analytics / freemius / templates / js / jquery.content-change.php
freemius/templates/js
index.php 3 years ago jquery.content-change.php 3 years ago open-license-activation.php 3 years ago permissions.php 3 years ago style-premium-theme.php 3 years ago
jquery.content-change.php
58 lines 1.5 KB Raw Download Zip
1 <?php
2 /**
3 * @package Freemius
4 * @copyright Copyright (c) 2015, Freemius, Inc.
5 * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6 * @since 1.2.2.7
7 */
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit;
10 }
11 ?>
12 <script type="text/javascript">
13 (function ($) {
14 if ($.fn.contentChange)
15 return;
16
17 /**
18 * Content change event listener.
19 *
20 * @url http://stackoverflow.com/questions/3233991/jquery-watch-div/3234646#3234646
21 *
22 * @param {function} callback
23 *
24 * @returns {object[]}
25 */
26 $.fn.contentChange = function (callback) {
27 var elements = $(this);
28
29 elements.each(function () {
30 var element = $(this);
31
32 element.data("lastContents", element.html());
33
34 window.watchContentChange = window.watchContentChange ?
35 window.watchContentChange :
36 [];
37
38 window.watchContentChange.push({
39 "element" : element,
40 "callback": callback
41 });
42 });
43
44 return elements;
45 };
46
47 setInterval(function() {
48 if ( window.watchContentChange ) {
49 for ( var i in window.watchContentChange ) {
50 if ( window.watchContentChange[ i ].element.data( 'lastContents' ) !== window.watchContentChange[ i ].element.html() ) {
51 window.watchContentChange[ i ].callback.apply( undefined, [ false ] );
52 window.watchContentChange[ i ].element.data( 'lastContents', window.watchContentChange[ i ].element.html() )
53 }
54 }
55 }
56 }, 500 );
57 })(jQuery);
58 </script>