javascript - iframeがビューポートにあるときに低フレームレートを取得するにはどうすればよいですか?

原文 javascript html iframe

クロスドメインiframeがビューポートにスクロールされると、低フレームレートを取得する必要があります。これは、クロスドメインrequestAnimationFrame()内からiframeを使用してその位置を理解するために必要です。例えば、

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で何かを描画しますが、ブラウザはビューポートの外でも描画を続けます。
複数のtext-shadowのような重いCSSスタイルを適用し、divの位置を変更しますが、うまく機能しませんでした。フレームレートが下がっていたかどうかさえわかりません。


ありがとう!
答え
私はあなたが何をしようとしているのか本当にわかりませんが、おそらくsetInterval(frame_check,1000/60)でiframeの位置を非常に頻繁にチェックできます(60秒ごとにチェック)。フレームレートを下げるのは私には解決策のようには聞こえませんが、おそらく私は間違っています...
関連記事

javascript - AngularJs-ディレクティブで$ timeout delayを動的に設定する

javascript - 角度のUIルーターを備えたURLのCSV文字列

javascript - JavaScriptはJS Fiddleでは機能しますが、Chrome / IEでは機能しません

javascript - PHP配列へのJavaScript

javascript - JSONPを使用したクロスドメインのjQuery $ .ajax呼び出しはステータス200を返しますが、成功の代わりにエラー関数が呼び出されています

javascript - 配列へのテーブルのローカルストレージ

javascript - Parse JS APIで新しいユーザーを作成しようとしたときの最大コールスタックエラー

javascript - Divはマウスを追跡し、ブラウザーの境界を避けます

javascript - Emberデータ:エラー時にcreateRecordをロールバックします

javascript - 複雑なデータとオートコンプリートに関するバインドの問題