2017-04-19 85 views
0

初めてメインページに着陸すると、フィドラーはiframeサイトの読み込みを1回表示します。私がF5を押すか、ページに戻ると、サイトが2回ロードされたようです。Iframeのページが2回読み込まれるのはなぜですか?

Fiddlerは、最初にシンボルが打ち切られたことを示しています。

Iframe loads page twice - is this really an issue?

画像

  1. 上のページはインラインフレームページロードされた罰金をロード初めてのポイントを説明する

    (この場合には、そのASPページを、それ以外ASPページで発生します)。

  2. F5ページの更新でこれは私の問題です。ページは読み込まれますが、中断されたように見えます。私はなぜそれを理解しようとしています。それは問題なのでしょうか?余分なリソースがクライアント/サーバー上で使用されますか?
  3. ページが正常に読み込まれます。私は、アクティブリンクのウォッチャーをしたし、それだけで未定義から一度定義に変更

    <div class="IframeContainer"> 
        <iframe class="IframeContent" ng-src="{{::trustSrc(ActiveLink)}}" iframe-onload="iframeLoadedCallBack()" frameborder="0" scrolling="no"></iframe> 
    </div> 
    

私のIFrameはこのようになります。 しかし、関数trustSrcにログを追加したところ、3回呼び出されたようです。なぜ私はまだ分かりません。

インラインフレームは、次のようなapp.js内のテンプレートURLとして追加されます。

.state('Retrieved', { 
     url: '/Retrieved', 
     templateUrl: 'Scripts/AngularJs/Views/_GenericIframeContainer.html' 
    }) 

私はIFRAMEがNG-SRCを使用しているため、変数がダイジェストサイクルを通過して評価してしまうと思います。この評価によってiframeがリロードされている可能性がありますか?

+0

質問を編集してコードを追加すると便利です – mlegg

答えて

0

私たちが使用している角型JS(バージョン1.4.9)ファイルを変更しました。ライン20365の周りに我々は

setTimeout(function() { 
    attr.$set(name, value); 
}, 10); 

は、我々はまた、

if (msie && propName) element.prop(propName, attr[name]); 

を変更(10msの遅延が追加されます)と、次の

attr.$set(name, value); 

を置き換えます

if (msie && propName && element[0].tagName !== 'IFRAME') element.prop(propName, attr[name]); 

おそらくIEの問題です。同じコードがAngularJSにあります。1.6.4

問題はこちらのように扱われています:https://github.com/angular/angular.js/issues/9843しかし修正はIMOにはありませんでした。

+0

このソリューションの問題は、iframeページがいつ読み込まれるかを知りたいということです。 iframe-onload = "iframeLoadedCallBack()"が2回呼び出されます。面白いことに、Fiddlerは、Iframeでリクエストされたページへの呼び出しを1回だけ表示します。 – Sniipe

関連する問題