iframe 클릭 이벤트 감청

1196 단어 에세이
    var IframeOnClick = {
       resolution: 200,
       iframes: [],
       interval: null,
       Iframe: function() {
        this.element = arguments[0];
        this.cb = arguments[1];
       
        this.hasTracked = false;
       },
       track: function(element, cb) {
        this.iframes.push(new this.Iframe(element, cb));
        if (!this.interval) {
         var _this = this;
         this.interval = setInterval(function() { _this.checkClick(); }, this.resolution);
        }
       },
       
       checkClick: function() {
        if (document.activeElement) {
         var activeElement = document.activeElement;
         for (var i in this.iframes) {
          if (activeElement === this.iframes[i].element) { // user is in this Iframe
           if (this.iframes[i].hasTracked == false) {
            this.iframes[i].cb.apply(window, []);
       
            this.iframes[i].hasTracked = true;
           }
          } else {
           this.iframes[i].hasTracked = false;
          }
         }
        }
       }
    };

    //  
    IframeOnClick.track(document.getElementById("iframe"), function() {
        // 
    });

클릭하여 더 보기

좋은 웹페이지 즐겨찾기