2
當跨域iframe
滾動到視口中時,我需要獲得LOW幀率。這是需要的,因爲我想使用requestAnimationFrame()
來了解它在跨域iframe
內的位置。例如,iframe在視口中時如何獲得LOW幀率?
var last_time = 0;
var lst_diff = [];
var avg = 0;
function frame_check(current_time){
var diff = current_time - last_time;
last_time = current_time;
if (lst_diff.length > 5){
lst_diff.shift();
}
lst_diff.push(diff);
var sum = 0;
lst_diff.forEach(function(val){
sum += val;
});
avg = sum/lst_diff.length;
// if (avg < some threshold)
// indicates it is in the viewport
// do something
requestAnimationFrame(frame_check);
}
requestAnimationFrame(frame_check);
當它在視口中,我能在iframe
做,使之高效,在採取小空間方面和顯著降低幀率?我試圖
繪製在
canvas
的東西,但是瀏覽器會做連出的視口;應用重複的CSS樣式,如多個
text-shadow
並更改div
的位置,但效果不佳。我甚至無法分辨幀速是否下降。
謝謝!
獲取跨域iframe(在其中)的位置是不可能的。我會在問題中說清楚。 – ShuaiYuan 2014-12-03 11:40:09
你有權訪問iframe中包含的頁面嗎? – n00dl3 2014-12-03 11:43:49
否,我可以使用'postMessage' – ShuaiYuan 2014-12-03 11:53:20