読書をお勧めします:
JS iframeの負荷が遅いという問題を解決する方法
このプロジェクトでは、多くの場合、IFRAMEを動的に追加してから、追加されたIFRAMEで関連操作を実行する必要があります。多くの場合、IFRAMEが追加される前に後続のコードが実行されているため、書くものはまったく表示されません。この時点で、後続の操作を実行する前にiframeがロードされるまで待つことができるかどうかを検討する必要があります。もちろん、さまざまなブラウザが長い間それを検討してきました。以下を参照してください。
IEブラウザ
IEの各エレムノードには、redidedStateChangeイベントがあります。このイベントは、Elemコンテンツが変更されるたびにトリガーされます。たとえば、コンテンツがロードされた後にコンテンツがロードされ、ロードされます。コンテンツが正常にロードされるとトリガーされます。この機能は、ReadyStateと調整する必要があります。これは、各エレムが所有するプロパティで、各トリガーのステータスを表示します。
//最初にonreadystatechangeiframe.attachevent( "onreadystatechange"、function(){//このイベントも状態を判断しない場合にトリガーされます。 "loaded"){//ここでコードを実行できます。これは、読み込みが正常に完了したことを意味します//イベントiframe.detachevent( "onreadedstatechange"、arguments.callee); //これはコールバック関数}});その他のブラウザ(Firefox、Opera、Chromeなど)
他の非IEブラウザでは、Firefox、Opera、Chrome、その他のIFRAMEにはオンロードイベントがあります。このイベントがトリガーされている限り、名前のコンテンツがロードされていることを意味します。
iframe.addeventlistener( "load"、function(){//コードはここで実行でき、荷重が正常に完了したことを意味します。これは、removeeventlistener( "load"、arguments.call、false); // callback function}、false);要約しましょう
if(iframe.attachevent){iframe.attachevent( "onreadystatechange"、function(){//このイベントは、コンテンツが状態を読み込んでいない場合にもトリガーされます。 "loaded"){//コードはここで実行できます。これは、読み込みが正常に完了したことを意味します//イベントiframe.detachevent( "onreadystatechange"、arguments.callee); //これはコールバック関数です}})正常に完了しました。注:上記の関数は、iframeが本体に付録されている後に配置する必要があります。それ以外の場合は、トリガーされません。
上記のコンテンツは、IFRAMEがエディターによって正常にロードされているかどうかを判断するJSの方法です。私はそれが誰にでも役立つことを願っています!