iframe里面一般都會(huì)使用別人的URL,沒有很多交互,使用document.activeElement可以對(duì)iframe進(jìn)行事件監(jiān)聽。
使用下面的類進(jìn)行測(cè)試:
成都創(chuàng)新互聯(lián)專注于豐澤企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),成都做商城網(wǎng)站。豐澤網(wǎng)站建設(shè)公司,為豐澤等地區(qū)提供建站服務(wù)。全流程按需求定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
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
this.iframes[i].cb.apply(window, []);
}
}
}
}
};
var index = layer.open({
type: 2,
content: 'http://layim.layui.com',
area: ['320px', '195px'],
maxmin: true,
success:function (layero,index) {
var iframeWin = window[layero.find('iframe')[0]['name']];
IframeOnClick.track(layero.find('iframe')[0], function() { console.log("testtttt") });
}
});
layer.full(index);