2011-04-06 6 views
3

jQuery (또는 일반 자바 스크립트)를 통해 다른 도메인의 웹 페이지를 사용할 수 있는지 테스트 할 수 있습니까? 응답 헤더를 AJAX 호출로 얻으려고했지만 내 도메인 외부의 어떤 사이트에서라도 오류가 발생합니다.자바 스크립트로 URL 테스트 가능

내 서버에 프록시 스크립트가 필요하거나 요청을 건너 뛸 수 있습니까?

답변

0

예, 서버에서 프록시 스크립트를 사용해야합니다. the same-origin policy과 같이 JavaScript를 브라우저에서 도메인 전체의 리소스를 요청하는 데 사용할 수 없습니다.

+0

나는 당신이 헤더에 접근 할 수있는 곳을 읽었다 고 믿는다 - 그리고 그것은 내가 필요한 전부이다. 그게 가능하지 않다면 그 이유는 무엇입니까? 응답이 200인지 아닌지를 확인할 수 있다면 보안 상 위험할까요? – schwift

+0

단어로 찍은 이것은 사실이 아닙니다. 도메인 전체에서 리소스를 요청할 수 있습니다. iframe, 다른 도메인을 가리키는 src가있는 img 태그 또는 스타일과 스크립트 (예 : 원격 위치에서 jQuery 포함)를 생각하면됩니다. 실제로 사이트를 사용할 수 있는지 확인하는 방법이 있지만 MSIE와 함께 사용할 수는 없습니다. – Powerslave

+0

@Powerslave이 답변은 실제로 구식 일뿐입니다. http://en.wikipedia.org/wiki/Cross-origin_resource_sharing –

2

jQuery (또는 일반 자바 스크립트)를 통해 다른 도메인의 웹 페이지를 사용할 수 있는지 테스트 할 수 있습니까? 원격 서버가 분명히 우리가 일반적인 경우에 대한지지 않습니다 JSONP를 구현하지 않는

인해 same origin policy restriction에 당신은 당신의 서버에 프록시/다리가 필요합니다.

2

외부 도메인의 기존 이미지를 가리키는 <img> 태그를 만들 수 있습니다.

onerror 이벤트가 발생하면 이미지 및 전체 사이트가 다운됩니다.

5 초 후에 발생하면 시간이 초과되어 전체 사이트가 다운 될 가능성이 있습니다.

+0

원격 도메인에 이미지가없는 경우 어떻게해야합니까? 오류가 발생하지만 도메인이 살아 있지 않다는 표시는 아닙니다. –

+0

@ 대린 : 그래서 나는 (또는 이미지)를 썼다. – SLaks

+0

이 경우에는 '사이트 (또는 이미지)가 다운 된 것'이라고 쓰지 말고, '이미지가 다운되었습니다'라고 써야합니다. 이는 우리가 할 수있는 유일한 객관적 결론입니다. (내 nitpicking에 대해 유감 :-)). –

관련 문제