1

Facebookから基本的な壁情報を読み込み、クエリのモバイルリストに表示しようとしています。コードはphonegap経由で正常に動作していますが、 "xmlhttprequest cannont load https://www.facebook.com ..."というエラーが発生するWebアプリケーションとして公開されたときにエラーが発生します。Facebookの壁のXMLを読んでjqueryのモバイルウェブアプリに送る

現在のコード:

<script type="text/javascript"> 

var cc_news_feed = 'http://www.facebook.com/feeds/page.php?id=47160778899&format=rss20&callback=?'; 
var cc_news_item = 'item'; 
var cc_news_title = 'title'; 
var cc_news_content = 'description'; 
var cc_news_limit = 10; 



    $('#news').live('pageshow', function(){ 
     if(newsLoaded != '1'){ 
      cc_news_limit = cc_news_limit +1; 

     $.mobile.showPageLoadingMsg(); 

     $("#newslist").empty(); 

     $.ajax({ 
      type: "GET", 
      url: cc_news_feed, 
      dataType: "xml", 
      success: parseXml 
     }); 

     function parseXml(xml10){   
      var i = 1; 

      $(xml10).find(cc_news_item).each(function(){ 
       if(i < cc_news_limit){ //Limit results 
        var pageid = "detailpage" + i;           
        $("#newslist").append("<li data-theme=\"y\"><a href='javascript:void(0)' onclick=\"javascript: $.mobile.changePage($('"+"#"+pageid+"'), 'slide');\">" + ($(this).find(cc_news_title).text()) + "</a></li>");      
        $("body").append("<div data-role='page' id='"+pageid+"'><div data-role='header' data-theme='z'><a href='#news' data-direction='reverse'>back</a><h1>News Detail</h1></div><div data-role='content' class='newsdetail'><h1>" + ($(this).find(cc_news_title).text()) + "</h1>" + ($(this).find(cc_news_content).text()) +"</div></div>"); 

        i++; 
       } 
      }); 

      $("#newslist").listview('refresh'); 
      $.mobile.hidePageLoadingMsg(); 

      //Mark as loaded 
      newsLoaded = '1'; 
     } 
     } 
    }); 
</script> 


<div data-role="page" id="news" data-theme="z"> 
    <div data-role="header" data-position="fixed" data-theme="z"> 
    <h1>News</h1> 
    <a href="#home" data-icon="home" class="ui-btn-right" data-iconpos="notext" data-transition="slidedown" data-theme="x">Home</a> 
    </div> 
    <div data-role="content"> 
    <ul data-role="listview" data-theme="z" data-inset="true" id="newslist"></ul> 
    </div> 
</div> 

私はXMLHttpRequestをおよそ数ビットを読んで、まだ少し混乱して失った...

答えて

2

アプリケーションとしてデプロイする場合は、あなたのコードは、ダウンロードのようなより多くの権限を持っています複数のサイトから。

ブラウザでは、これらの権限が厳しく制限されているため、URLがHTTPからHTTPSにリダイレクトされるため、エラーが発生する可能性があります。 ':= //www.facebook.com/feeds/page.php ID = 47160778899 &形式= rss20 &コールバック?HTTP ?' =

のvar cc_news_feed:

おそらく、これは問題を解決します;

誤ってリダイレクトされたURLを確認し、Ajaxが使用するURLとして貼り付けてください。

関連する問題