2017-09-22 11 views
0

APIハブから送信されたsignalRを使用する私のWebアプリケーションは、すべてのブラウザでうまく動作します。現在、Webアプリケーションのリンクを基本HTMLページ内のiframe内に追加しようとすると、Webアプリケーションは接続メソッドを実行しません。ここでiframe内のSignalRが受信しない

私のWebアプリケーションでの私のコードの抜粋:

$.connection.hub.url = 'myUrl'; 
$.connection.hub.logging = true; 
var varHub= $.connection.MyHub; 
$.connection.hub.start() 
    .done(function() { console.log("Signal R connected"); //this is being executed }) 
    .fail(function() { console.log("Could not Connect to signal R hub!"); }); 

$.connection.hub.disconnected(function() { 
    setTimeout(function() { 
     $.connection.hub.start(); 
    }, 5000); // Re-start connection after 5 seconds 
}); 

//Methods to be called by the server for signal R connections 
varHub.client.start= function() { 
    //this is not being called 
    //do something 
}; 

私は私が直接URLを介してアクセスするとき、私は問題はないと述べてきたように。この問題は、iframeにURLを挿入しようとすると発生します。

は、ここで私はそれを行う方法は次のとおりです。

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <title></title> 
     <meta http-equiv="X-UA-Compatible" content="IE=11"> 
    </head> 
    <body width="1280" height="736" style="margin:0;padding:0;overflow:hidden;border:0px;background:#000000;"> 
     <iframe 
      src="http://myUrl/Home/Index?Id=someId" style="width:1280px;height:720px;margin:0;paddin:0;overflow:hidden;border:0px;"/> 
      scrolling="no"/> 
    </body> 
</html> 

注:私のターゲットブラウザは、任意のアイデアは、大きな助けになりますIE 11

です!ありがとう。

答えて

0

今後この問題が発生する可能性がある人は、このパラメータによって問題が解決されます。

出典:Here

輸送の交渉は、時間と、クライアント/サーバー・リソースの一定量を要します。クライアント機能が分かっている場合は、クライアント接続が開始されたときにトランスポートを指定できます。

$.connection.hub.start({ transport: 'longPolling' }) 
:次のコードスニペットは、それは、クライアントが他のプロトコルをサポートしていなかったことが知られていた場合に使用されるように、Ajaxのロングポーリング・トランスポートを使用して接続を開始する実証します
関連する問題