Changeset 21554

Show
Ignore:
Timestamp:
10/18/08 01:46:14 (6 years ago)
Author:
drry
Message:
  • fixed regexes.
  • fixed HTML.
  • et cetera.
Location:
lang/javascript/WindowNameXDomainRequest
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/WindowNameXDomainRequest/client/s.gif

    • Property svn:mime-type changed from application/octet-stream to image/gif
  • lang/javascript/WindowNameXDomainRequest/client/xd-client.html

    • Property svn:mime-type changed from text/html to text/html; charset=UTF-8
    r21550 r21554  
    11<html> 
    22  <head> 
     3                <title>WindowNameXDomainRequest client</title> 
    34                <script type="text/javascript" src="../lib/json2.js"></script> 
    45                <script type="text/javascript" src="../js/xd-client.js"></script> 
     
    1718  }, function(response) { 
    1819    if (response.status == 200) { 
    19       alert(response.body) 
     20      alert(response.body); 
    2021    } 
    2122  }); 
     
    2526        </head> 
    2627        <body> 
    27     <img src="s.gif" /> 
    28     <input type="button" onclick="javascript:windowNameXHRTest();" value="window.name XHR Test" /> 
     28    <img src="s.gif"> 
     29    <input type="button" onclick="javascript:windowNameXHRTest();" value="window.name XHR Test"> 
    2930        </body> 
    3031</html> 
  • lang/javascript/WindowNameXDomainRequest/js/xd-client.js

    r21550 r21554  
    11/** 
    2  * window.name transport によるクロスドメインリクエスト  
     2 * window.name transport によるクロスドメインリクエスト 
    33 * (クライアント側) 
    44 * 
     
    4949          callback.call(scope, res); 
    5050        } 
    51       } catch(e) {} 
     51      } catch (e) {} 
    5252    }, 100); 
    5353 
    5454  } 
    5555 
    56 } 
     56}; 
    5757 
    5858/** 
  • lang/javascript/WindowNameXDomainRequest/js/xd-proxy.js

    r21543 r21554  
    11/** 
    2  * window.name transport によるクロスドメインリクエスト  
     2 * window.name transport によるクロスドメインリクエスト 
    33 * (プロキシ側) 
    44 * 
     
    1515 
    1616  // 戻り先のURLを取得 
    17   m = retUrl.match(/^http(s)?:\/\/([^\/]+)/); 
     17  m = retUrl.match(/^http(s)?:\/\/([^\/:]+)\.?/); 
    1818  if (!m) return; 
    1919  var domain = m[2]; 
    20   var ssl = !!m[1] 
     20  var ssl = !!m[1]; 
    2121 
    2222  // リクエスト情報をパース 
    23   var request = JSON.parse(window.name) 
     23  var request = JSON.parse(window.name); 
    2424 
    2525  // ポリシーのチェック。許可されたドメインからのリクエストか、など 
     
    5353    if (xdRequestPolicy.sslRequired && !ssl) return false; 
    5454    if (xdRequestPolicy.allowedMethod) { 
    55       var allowedMethod = new RegExp('^('+xdRequestPolicy.allowedMethod.replace(/,/g, '|')+')$', 'i'); 
     55      var allowedMethod = new RegExp('^(?:'+xdRequestPolicy.allowedMethod.replace(/\s*,\s*/g, '|')+')$', 'i'); 
    5656      if (!allowedMethod.test(request.method)) return false; 
    5757    } 
    5858    if (xdRequestPolicy.allowedDomain) { 
    59       var allowedDomains = xdRequestPolicy.allowedDomain.split(','); 
     59      var allowedDomains = xdRequestPolicy.allowedDomain.split(/\s*,\s*/); 
    6060      for (var i=0, len=allowedDomains.length; i<len; i++) { 
    61         var allowedDomain = allowedDomains[i].replace(/\./g, '\.').replace(/\*/g, '.*'); 
     61        var allowedDomain = allowedDomains[i].replace(/(?=\.)/g, '\\').replace(/(?=\*)/g, '.'); 
    6262        if (new RegExp('^'+allowedDomain+'$').test(domain)) return true; 
    6363      } 
     
    8282        status : xhr.status, 
    8383        body : xhr.responseText 
    84       }) 
     84      }); 
    8585    } 
    86   } 
     86  }; 
    8787  xhr.send(request.body || null); 
    8888} 
     
    9191 * 
    9292 */ 
    93 function createXMLHttpRequest() {  
     93function createXMLHttpRequest() { 
    9494  if (window.XMLHttpRequest) { 
    9595    return new XMLHttpRequest(); 
    9696  } else if (window.ActiveXObject) { 
    9797    try { 
    98       return new ActiveXObject("Msxml2.XMLHTTP"); 
    99     } catch(e) { 
    100       return new ActiveXObject("Microsoft.XMLHTTP"); 
     98      return new ActiveXObject('Msxml2.XMLHTTP'); 
     99    } catch (e) { 
     100      return new ActiveXObject('Microsoft.XMLHTTP'); 
    101101    } 
    102102  } 
    103103} 
    104   
     104 
  • lang/javascript/WindowNameXDomainRequest/server/xd-proxy.html

    • Property svn:mime-type changed from text/html to text/html; charset=UTF-8
    r21548 r21554  
    11<html> 
    22  <head> 
     3                <title>WindowNameXDomainRequest proxy</title> 
    34                <script type="text/javascript" src="../lib/json2.js"></script> 
    45    <script type="text/javascript"> 
     
    67  allowedRequest : 'GET,POST', 
    78  allowedDomain : '*' 
    8 } 
     9}; 
    910    </script> 
    1011                <script type="text/javascript" src="../js/xd-proxy.js"></script>