문제

JavaScript가 RSS XML 피드를로드 할 수 있습니다 야후?

클라이언트 측 JS가 3 자 도메인에 액세스 할 수 있습니까?

도움이 되었습니까?

해결책

내 블로그 게시물에 요약 된 기술을 사용할 수 있습니다. Yahoo Query Langauge에 대한 작성되지 않은 가이드

XML 데이터 테이블을 다음과 같은 YQL 문으로 쿼리합니다.

select * from xml
  where url="http://path/to/xml
그런 다음 src http://query.yahooapis.com/v1/public/yql?q= {your yql}을 사용하여 html에 스크립트 태그를 추가합니다 (http://query.yahooapis.com/v1/public/yql?q=} & format = json & callback = {your function} 여기서 {yql here}는 yql 문의 URI 인코딩 된 버전으로 대체됩니다.

다른 팁

이를 수행하는 쉬운 방법은 페이지가있는 서버를 통해 요청을 프록시하는 것입니다. 단계는 다음과 같습니다.

  1. 서버 측 스크립트 작성 스크립트 자체가 요청 일 때 (예 : Get 또는 Post를 통해) RSS 피드에서 HTTP 요청을 수행합니다.
  2. AJAX를 사용하여 서버 측 스크립트를 요청하거나 해당 페이지의 기본 스크립트에서 호출하십시오.
  3. 서버 측 스크립트는 일부 표시 가능한 양식으로 피드 소스를 반환합니다.
  4. 이익!

IE 8 및 FF 3.1 (확실하지 않음)에서는 특수 크로스 사이트 호출을 통해 이러한 요청을 할 수 있지만 마지막 생성 브라우저는 여전히 문제를 일으킬 것입니다. 보다:

http://dannythorpe.com/2009/01/15/ie8-cross-domain-request-support-demo/ http://ejohn.org/blog/cross-site-xmlhttprequest/ 기능이 FF 3.0으로 제한되어 3.1로 돌아올 지 확실하지 않습니다.

그러나 위의 단계는 서버의 일부 지연 및 추가 HW로드를 희생하여 브라우저 CSS 보안을 부정하지 않도록 보장됩니다.

당신은 사용할 수 있습니다 Google 피드 API 모든 도메인 / 서버에서 javaScript로 RSS를로드합니다. 단순한 프록시 이상으로, 실제로 원래 서버를 치는 대신 Google 캐시의 RSS 컨텐츠를 제공합니다. 이것은 슬래시 도트 트래픽 급증을 처리 할 수없는 소규모 서버의 생명을 구할 수 있습니다.

나는 Cross-Site RSS 액세스를 위해 Feed API를 사용했습니다. 실버 라이트에 관한 기사 몇 년 전.

JS에 대해 잘 모르겠지만 중 하나를 사용할 수 있다는 것을 알고 있습니다. 구글의 API 그리고 그들은 RSS 리더가 있습니다. 나는 이것이 당신이 원하는 것이 아니라는 것을 알고 있지만, 문서를 읽으면 그것이 어떻게 작동하는지에 대한 답을 얻을 수 있습니다.

직접적이지 않습니다. 요청을 프록시하는 Dana의 제안을 사용하거나 JSONP라는 메소드를 살펴볼 수 있습니다. JSONP라는 메소드를 살펴볼 수 있습니다.이 메소드는 본질적으로 반환 된 JSON 객체를 사용자 정의 콜백 함수로 랩핑합니다. 대부분의 API 제공 업체는이를 지원합니다 (Yahoo의 API 포함).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top