Начните с того, что не вызывайте вашу функцию load_rss
дважды на странице, когда вам это не нужно.
load_rss("http://www.example.com/rss/news.xml");
google.setOnLoadCallback(load_rss);
Удалите одиночный вызов load_rss
и оставьте google.setOnLoadCallback(load_rss);
, поскольку это вызоветкогда она готова к запуску функции.
.setOnLoadCallback(callback)
- это статическая функция, которая регистрирует указанную функцию-обработчик, которая будет вызвана один разстраница, содержащая этот вызов, загружается, где обратный вызов является обязательной функцией, вызываемой, когда содержащий документ загружается и API готов к использованию (например, после onLoad
).Эта функция реализована в пространстве имен Google (т. Е. google.setOnLoadCallback(callback);
)
Затем перейдите к объявлению функции и измените первые несколько строк на следующие:
function load_rss() {
var url = "http://www.example.com/rss/news.xml";
var feed = new google.feeds.Feed(url);
Здесь вы заметите удаление google.load('feeds', '1');
, которое вы уже вызывали непосредственно перед setOnLoadCallback
.
И если вы не хотите, чтобы «Загрузка ...» всегда отображалась, вы должны вместо этого поменять содержимоедобавление так:
$('#feed-control').html('<table id="rssentries"></table>');