1

RSS フィード (ここでは Google ニュース フィード) を読み、Javascript を使用して未加工のコードから特定の情報を取得しようとしています。以下のコードは、Firefox で 2 行目の URL をローカル ファイル (gNews をコピーして貼り付け、xml として保存) に変更した場合は機能しますが、以下のように外部ページの場合は機能しません。このコードは、IE または Chrome ではどのような条件下でも機能しません。助言がありますか?

xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","https://news.google.com/news/feeds?ned=us&topic=h&output=rss",false);
try {
    xmlhttp.send();
}
catch(exception){
    document.write(exception+"");
}
var xmlDoc=xmlhttp.responseXML; 
var x=xmlDoc.getElementsByTagName("item");
for (i=0;i<4;i++) {
  if(i%2==0) {
    document.write("<div id='bottombox'>");
  }
  var raw=x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue;<br />
  var toWrite=""+raw.substring(0,raw.indexOf(" - ",0));
  document.write("<a href="+x[i].getElementsByTagName('link')[0].childNodes[0].nodeValue+" style='font-family:Verdana, Geneva, sans-serif; font-size:13px; color:#FFF;'>");
  document.write(toWrite);
  document.write("</a>");
  document.write("<br />");
  if(i%2!=0) {
      document.write("</div>");
  }
  }
4

1 に答える 1

1

これはクロスオリジンのセキュリティ違反であり、ブラウザで禁止されています。

詳細については、 「同一オリジン ポリシー」および「クロス オリジン リソース共有」を参照してください。

于 2012-06-01T17:19:32.230 に答える