2011-08-03 67 views
3

我刨,以顯示內部的Androind應用如何通過JavaScript

我有這樣的RSS提要URL http://yofreesamples.com/category/free-coupons/feed/ 我沒有控制或訪問RSS RSS訂閱檢索跨域RSS(XML)飼料。

JSONP是與JSON輸出響應請求的解決方案。但在這裏,我有RSS源,可以用純XML進行響應。

我沒有使用代理來獲取RSS提要的約束。我試圖用Google AJAX Feed API執行,但我遇到了一個問題。我需要獲取entry_title 的值,它位於回調函數內部,並在我的其他函數中使用它顯示android應用程序內部的系統通知,但我無法獲取值,我不想使用任何容器,在div中顯示它。 有沒有辦法讓這個值還是有這個問題

/* ---------------------- global variables ---------------------- */ 
var entry; 
/* ---------------------- end global variables ---------------------- */ 
    function getRss(url){ 

    if(url == null) return false; 

    google.load("feeds", "1"); 

    // Our callback function, for when a feed is loaded. 
    function feedLoaded(result) { 
     if (!result.error) { 
      // Check out the result object for a list of properties returned in each entry. 
      // http://code.google.com/apis/ajaxfeeds/documentation/reference.html#JSON 

      var entry = result.feed.entries[0];    
      var entry_title = entry.title; 
     } 
     entry = entry_title; // not working 

    } 


    function Load() { 
     // Create a feed instance that will grab feed. 
     var feed = new google.feeds.Feed(url); 
     // Calling load sends the request off. It requires a callback function. 
     feed.load(feedLoaded); 

    } 

    google.setOnLoadCallback(Load);    
} 

回答

2

我修改你的代碼一點點僅客戶端的解決方法和它的作品

/* ---------------------- global variables ---------------------- */ 
var entry; 
/* ---------------------- end global variables ---------------------- */ 
function getRss(url){ 

    if(url == null) return false; 

    google.load("feeds", "1"); 

    // Our callback function, for when a feed is loaded. 
    function feedLoaded(result) { 
     if (!result.error) { 
      // Check out the result object for a list of properties returned in each entry. 
      // http://code.google.com/apis/ajaxfeeds/documentation/reference.html#JSON 

      entry = result.feed.entries[0];    
     } 
     // pass it to other function 
     someFunction(entry.title); 
    } 

    function Load() { 
     // Create a feed instance that will grab feed. 
     var feed = new google.feeds.Feed(url); 
     // Calling load sends the request off. It requires a callback function. 
     feed.load(feedLoaded); 
    } 

    // some function 
    function someFunction(s) { 
     alert(s); 
    } 

    google.setOnLoadCallback(Load);    
} 

// calling it ? 
getRss("http://yofreesamples.com/category/free-coupons/feed/"); 
+1

感謝麥克。有沒有辦法將值傳遞給全局變量,因爲我想在不同的js文件中使用該值,並使用變量進行一些檢查。 –

+1

如果someFunction在另一個JS文件中,該怎麼辦?是否有可能仍然通過價值? –

+1

當然,但你必須確保包含someFunction的其他JS文件首先被包含,因此它將首先加載。或者,在加載第一個JS文件時添加調用getRSS。檢查http://api.jquery.com/jQuery.getScript/ –