2011-01-30 4 views
0

페이지에 표시된 IP 주소를 텍스트로 바꾸려면 Opera 사용자 JS를 쓰려고합니다. 그것의 IP 위치. 인터넷 검색을 한 후 필요한 정보를 정확하게 제공하는 서비스를 발견했습니다.페이지에 표시된 IP 주소를 텍스트로 IP 위치 (예 : "국가, 지역, 도시")로 바꾸는 방법

HTTP 쿼리에 대한이 서비스는 필요한 정보가 들어있는 메타가있는 페이지의 헤더를 반환합니다.
예를 들면 다음과 같습니다. http://www.geobytes.com/IpLocator.htm?GetLocation&template=php3.txt&IpAddress=142.34.25.111
(페이지의 소스 참조)
브라우저에서이 요청은 정상적으로 작동합니다.
AJAX를 통해 (XML로)이 텍스트를 가져 오려고했지만 ReferenceError: Security violation 라인의 xmlhttp.send();에서 오류가 발생했습니다.

그래서, 내 질문은 다음과 같습니다
이 - JS를 통해 IP 주소에서 IP 위치를 얻기 위해 어떤 실천을 기존가요 (모든 수수료없이 || 등록)
- 어떻게 내가 할 수있는 수정에 한 페이지의 일부 콘텐츠를 대체하는 JS를 통해 다른 페이지의 내용?

추신. 나는 JS 프로그래밍에서 매우 새로운 것이다.

<html> 
    <head> 
    <script type="text/javascript"> 
    function loadXMLDoc() 
    { 
    var xmlhttp; 
    if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
    else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange=function() 
    { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
      //document.getElementById("myDiv").innerHTML=xmlhttp.responseText; 
      var x = xmlhttp.responseXML.documentElement.documentElement; 
      var i, s, xx; 
      s = ''; 
      for (i=0; i < x.length; i++) 
      { 
      xx = x[i].documentElement; 
      if (xx.attributes[0] == 'country') s = s + xx.attributes[1].textContent; 
      if (xx.attributes[0] == 'region') s = s + ', ' + xx.attributes[1].textContent; 
      if (xx.attributes[0] == 'city') s = s + ', ' + xx.attributes[1].textContent; 
      } 
      document.getElementById("myDiv").innerHTML = s; 
     } 
    } 
    xmlhttp.open("GET","http://www.geobytes.com/IpLocator.htm?GetLocation&template=php3.txt&IpAddress=142.34.25.111",false); 
    xmlhttp.send(); 
    } 
    </script> 
    </head> 
    <body> 

    <div id="myDiv"><h2>Let AJAX change this text</h2></div> 
    <button type="button" onclick="loadXMLDoc()">Change Content</button> 

    </body> 
    </html> 

테스트 페이지가 포함되어 있습니다.

네, 감사합니다.
내 질문에 충분히 명확하지 않을 수 있습니다.
다시 시도해 보자. (내가 직접 말했다.)
전달 된 매개 변수를 사용하여 Country, Region, City 형식의 IP 위치를 반환하는 IPAddress2IPLocation(InIPAddress)과 같은 JS 함수가 필요합니다.

아무도 내 질문에 대한 답변을 알고 있습니까?
이번에 (3:50 AM 여기) 나는 어떤 제안을 승인했다. 그러나 어쨌든, 그것은 내 인생에서 극도의 시련이 아니다. 그것은 JS에 관해서는 흥미 롭다.

+0

은 왜 우리가 오류가 있는지 수있는 소스 코드를 삽입하지? 분명히 당신은 이미 당신이 원하는 것을 할 수있는 길을 발견했습니다. – Mauricio

+0

제안 사항이 있으십니까? – Abelisto

답변

1

ReferenceError: Security violation 수수료를 지불하지 않아도됩니다. 대부분의 브라우저에서 보안 위반 인 Cross-site Scripting을하고 있습니다.

프록시 서버를 사용하면이 오류를 피할 수 있습니다.

1

이것은 아마도 Ajax에서 다른 도메인에 액세스했기 때문일 수 있습니다. 보안상의 이유로 동일한 도메인 이름에 대한 요청 만 수행 할 수 있습니다.

코드 http://www.codeproject.com/KB/aspnet/aspxcode_net.aspx은 위치 변환에 IP를 작성하기위한 기본 사항을 설명합니다.

관련 문제