2017-01-26 2 views
0

내가 일반적으로 사용하는 것과 다른 페이지의 HTML을 가져 오려는 경우가있었습니다. 브라우저의 JavaScript 콘솔을 사용할 때 또는 북마크릿을 쓸 때 이러한 현상이 발생했습니다. 따라서 어떤 URL이라도 주어진 URL의 내용을 검색하여 JavaScript 변수에서 사용할 수 있습니다.소스 코드를 JavaScript로 가져 오기

원하는 솔루션은 외부 라이브러리를로드해야하기 때문에 jQuery를 사용할 수 없습니다. 이는 콘솔이나 북마클릿과 달리 웹 페이지에서 실행되는 JavaScript의 컨텍스트에서만 최적입니다. (또한, 페이지에 스크립트 태그를 추가하는 것은 단지 투박 콘솔에서 사용할 수 있습니다.)

답변

0

누군가가 이미 대답했다고 판단,

function httpGetAsync(theUrl, callback) 
 
{ 
 
    var xmlHttp = new XMLHttpRequest(); 
 
    xmlHttp.onreadystatechange = function() { 
 
     if (xmlHttp.readyState == 4 && xmlHttp.status == 200) 
 
      callback(xmlHttp.responseText); 
 
    } 
 
    xmlHttp.open("GET", theUrl, true); // true for asynchronous 
 
    xmlHttp.send(null); 
 
}

모든 학점을 저자에게 : Link to original answer

+2

올바른 예의는 다른 답변을 추가하는 대신 복제본으로 표시합니다. 이 사이트는 사이트를 오염시키고 일반적인 질문에 대한 좋은 답변을 찾지 못하게합니다 (볼륨으로 인해) – ochi

0

의심 할 여지없이 많은 페이지에서 크로스 사이트 스크립팅 제한이 적용됩니다. 많은 서버는 요청을하는 도메인과 다른 도메인의 요청을 차단합니다. 따라서 예를 들어이 사이트의 콘솔에 접속하여 google.com 홈페이지를 얻으려고하면 Google에서 허락을받지 못했다는 오류 메시지를 다시 보냅니다.

는이 페이지의 콘솔에서 다음을 실행하여 자신을 시도해보십시오

$.get('https://www.google.com') 

구글은 오류를 반환합니다.

error from google

당신은 오래된 페이지의 콘솔에서 브라우저 확장에서이 작업을 수행 할 수 있지만 가능성이 없습니다 수 있습니다.

관련 문제