Bonjour à tous,
j'aimerai profiter de la future fermeture d'iGoogle pour passer au moteur de recherche startPage, sans pour autant perdre mes flux RSS. J'aimerai donc créer mon propre iGoogle, mais fonctionnant avec startPage. Je n'ai malheureusement trouver aucun remplaçant à iGoogle utilisant ce moteur de recherche.
J'ai donc décidé de créer ma propre page iGoogle, directement avec la page d'accueil du moteur de recherche. Et pour cela je vais utiliser un userScript.
J'ai trouvé comment créer un flux RSS en javascript avec FeedEk, qui utilise jQuery. Mon problème, c'est que quand je l'applique sur la page d'accueil, le flux RSS ne fonctionne pas.
Voici le code :
L'image de chargement fonctionne bien, mais c'est tout ce qui se passe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 // ==UserScript== // @name StartPage RSS // @namespace StartPage // @description Add RSS in StartPage // @include htt*://*.startpage.com/* // @grant none // @match http://*.startpage.com/* // @match https://*.startpage.com/* // @version 1.0 // @encoding UTF-8 // ==/UserScript== (function(e) { e.fn.FeedEk = function(t) { var n = {FeedUrl: "http://rss.cnn.com/rss/edition.rss", MaxCount: 5, ShowDesc: true, ShowPubDate: true, CharacterLimit: 0, TitleLinkTarget: "_blank"}; if (t) { e.extend(n, t) } var r = e(this).attr("id"); var i; e("#" + r).empty().append('<div style="padding:3px;"><img src="loader.gif" /></div>'); e.ajax({ url: "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=" + n.MaxCount + "&output=json&q=" + encodeURIComponent(n.FeedUrl) + "&hl=en&callback=?", dataType: "json", success: function(t) { e("#" + r).empty(); var s = ""; e.each(t.responseData.feed.entries, function(e, t) { s += '<li><div class="itemTitle"><a href="' + t.link + '" target="' + n.TitleLinkTarget + '" >' + t.title + "</a></div>"; if (n.ShowPubDate) { i = new Date(t.publishedDate); s += '<div class="itemDate">' + i.toLocaleDateString() + "</div>" } if (n.ShowDesc) { if (n.DescCharacterLimit > 0 && t.content.length > n.DescCharacterLimit) { s += '<div class="itemContent">' + t.content.substr(0, n.DescCharacterLimit) + "...</div>" } else { s += '<div class="itemContent">' + t.content + "</div>" } } }); e("#" + r).append('<ul class="feedEkList">' + s + "</ul>") }}) } })(jQuery) function main() { var div = document.createElement("DIV"); div.id = "divRss"; $("#links").append(div); $('#divRss').FeedEk({ FeedUrl: 'http://www.pcinpact.com/rss/news.xml', MaxCount: 5 }); } main();
J'ai donc cherché du coté de la requête AJAX, et je l'ai remplacée par le code suivant :
Même avec ce code, il ne se passe rien. Je n'ai aucun retour de la fonction ajax.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 e.ajax({ url: "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=" + n.MaxCount + "&output=json&q=" + encodeURIComponent(n.FeedUrl) + "&hl=en&callback=?", dataType: "json", success : function(code_html, statut){ alert("success"); }, error : function(resultat, statut, erreur){ alert("error"); }, complete : function(resultat, statut){ alert("complete"); } })
J'ai testé mon script avec Chrome, puis Firefox, et la chose étrange, c'est que je n'ai aucun problème avec Firefox.
Merci d'avance pour votre aide.
Droup
Partager