1

Facebookから基本的な壁の情報を読み、クエリモバイルリストに表示しようとしています。コードはphonegapを介して正常に機能していますが、Webアプリとして公開すると、「xmlhttprequest cannont loadhttps ://www.facebook.com ...」エラーが発生します。

現在のコード:

    <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について少し読んだことがありますが、それでも少し混乱して失われました...

4

1 に答える 1

2

アプリケーションとして展開する場合、コードには、複数のサイトからダウンロードするなど、より多くの権利があります。

ブラウザーでは、これらの権利は厳しく制限されています。私の推測では、URL が HTTP から HTTPS にリダイレクトされるため、エラーが発生していると思われます。

おそらくこれで問題は解決します:

var cc_news_feed = 'http s ://www.facebook.com/feeds/page.php?id=47160778899&format=rss20&callback=?';

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

于 2012-09-25T15:46:40.887 に答える