0

このテスト(クロスドメインAJAXを送信するかどうか)は、Internet Explorerでは常にfalseですが、Microsoft Edgeで動作します。失敗テストIE上の同じ起点

IE上に<a>要素が挿入されていないようです。

function testSameOrigin(url){ 
    /* 
     Return true if belongs to the same origin 
    */ 
    var loc = window.location, 
     a = document.createElement('a'); 

    a.href = url; 

    return a.hostname == loc.hostname && 
      a.port == loc.port && 
      a.protocol == loc.protocol; 
} 

どうすればこの問題を解決できますか?

ありがとうございます。

+0

Internet Explorer 12は存在しますか?最高のバージョンは11.0.28 –

+0

はい、12と13はIEではなく、新しい1つのMicrosoft EdgeはWindows 10のみです。 – Acute

+0

エッジが完全に書き換えられます。 –

答えて

0

私はそれを修正:

function testSameOrigin(url){ 

     var canonicalize = function(url) { 
      var div = document.createElement('div'); 
      div.innerHTML = "<a></a>"; 
      div.firstChild.href = url; 
      div.innerHTML = div.innerHTML; 
      return div.firstChild.href; 
     }; 

    var loc = window.location 
     , a = document.createElement('a'); 

    a.href = canonicalize(url); 

    return a.hostname == loc.hostname && 
      (a.port == loc.port || ((a.port == 80 || a.port == 443) && loc.port =="")) && 
      a.protocol == loc.protocol; 
} 

This post自分の道を見つけるために私を助けて。

関連する問題