因此,谷歌最近收购了spider.io,每个人都在谈论广告可见度。
除了spider.io的专利技术和comScore的专利几何技术......还有其他方法可以在第三方iframe中使用javascript检测广告可见度吗?
谢谢!
答案 0 :(得分:1)
有检测跨域查看能力的方法
1)请求动画帧(IOS)。 2)IntersectionObserver(API chrome,firefox等)。
两个例子都在这里。
var options = {
threshold: [0.0, 0.3, 0.7, 1.0]
};
var element = document.getElementById("element");
function intersectionObserver(callback)
{
function callbackObserver(entries, observer)
{
entries.forEach(function(entry)
{
callback.call(this, entry.intersectionRatio == 0)
});
}
var observer = new IntersectionObserver(callbackObserver, options);
observer.observe(element);
}
function reqAnimFrame(callback)
{
var lastCalled;
var fps;
var timediff;
function requestAnimFrame()
{
if (!lastCalled)
{
lastCalled = Date.now();
fps = 0;
}
timediff = (Date.now() - lastCalled);
if (timediff <= 1000)
{
fps++;
}
else
{
lastCalled = Date.now();
fps = 0;
}
callback.call(this, fps <= 10);
window.requestAnimationFrame(requestAnimFrame);
}
window.requestAnimationFrame(requestAnimFrame);
}
var callback = function(isNotView)
{
console.log(isNotView);
}
//IOS
reqAnimFrame(callback);
//Other then IOS
intersectionObserver(callback);