Bonjour,

[développement]
Je développe un site web en intranet (donc pas de problèmes de sécurité niveau adresse mail), je suis sur le front-end, et normalement je n'ai pas besoin de bidouiller de code.

Seulement voilà; on me demande en quelque sorte, d'envoyer une page web par mail, de manière à ce qu'elle s'affiche dans le mail. (Exigence des utilisateurs...)

La manipulation ne doit pas forcément être automatique. Mais on passe par Outlook 2003 (Microsoft Serveur Exchange), donc pas la possibilité d'éditer le code source du mail (du moins, pas trouvé!)

Pour l'instant, j'ai une page web qui n'est autre qu'un Flux RSS affiché via un javascript (enfin, il parait que c'est de l'AJAX). Le style.css est super simple (très propre), et référencé de manière absolue dans ma page .htm tout comme les images.
[/développement]

Le problème que j'ai, c'est que mon Flux RSS est affiché grâce à un javascript/AJAX qui ne s'affiche pas dans Outlook quand je fais "envoyer la page par mail" dans IE7 (oui, pas le choix...) (le code source est bien retranscript, mais rien ne s'affiche dans le corps du mail).

Donc j'aimerai savoir si c'était possible d'envoyer le même code source à peu près que lorsqu'on fait "enregistrer la page sur le disque", (là ça donne une page web qui fonctionne hors ligne) en conservant les liens absolus pour les images et le .css; via un script Javascript?

Si oui, pouvez-vous m'indiquer des pistes de résolution?

(Tutoriel ou script qui pourrait marcher moyennant quelques bidouille...)

Merci beaucoup!

Voici le code de ma page, qui n'a pas été créé par moi; je l'ai juste adapté à mes besoins (ajouts de l'affichage du corps du message).

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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<html>
 
<head>
<title>Titre de ma page</title>
<link rel="stylesheet" href="lienabsoluversmafeuillecss/style.css" type="text/css" />
</head>
 
<script langage="JavaScript">
 
var RSSRequestObject = false; // XMLHttpRequest Object
var Backend = 'lienversmonfluxrss'; // Backend url
window.setInterval("update_timer()", 1200000); // update the data every 20 mins
 
 
if (window.XMLHttpRequest) // try to create XMLHttpRequest
	RSSRequestObject = new XMLHttpRequest();
 
if (window.ActiveXObject)	// if ActiveXObject use the Microsoft.XMLHTTP
	RSSRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
 
 
/*
* onreadystatechange function
*/
function ReqChange() {
 
	// If data received correctly
	if (RSSRequestObject.readyState==4) {
 
		// if data is valid
		if (RSSRequestObject.responseText.indexOf('invalid') == -1) 
		{ 	
			// Parsing RSS
			var node = RSSRequestObject.responseXML.documentElement; 
 
 
			// Get Channel information
			var channel = node.getElementsByTagName('channel').item(0);
			// var title = channel.getElementsByTagName('title').item(0).firstChild.data;
			var link = channel.getElementsByTagName('link').item(0).firstChild.data;
			// var description = channel.getElementsByTagName('description').item(0).firstChild.data;
			//content = '<div class="channeltitle"><a href="'+link+'">'+title+'</a></div><ul><div>'+description+'</div>';
			content = '<div class="channeltitle"><a href="'+link+'">Nom Du Flux</a></div><ul>';
 
			// Browse items
			var items = channel.getElementsByTagName('item');
			for (var n=0; n < items.length; n++)
			{
				var itemTitle = items[n].getElementsByTagName('title').item(0).firstChild.data;
				var itemLink = items[n].getElementsByTagName('link').item(0).firstChild.data;
				var itemDescription = items[n].getElementsByTagName('description').item(0).firstChild.data;
				try 
				{ 
					var itemPubDate = '<font color=gray>['+items[n].getElementsByTagName('pubDate').item(0).firstChild.data+'] ';
				} 
				catch (e) 
				{ 
					var itemPubDate = '';
				}
 
 
				// content += '<li>'+itemPubDate+'</font><a href="'+itemLink+'">'+itemTitle+'</a></li><br>&nbsp'+itemDescription+'';
				content += '<li><font size=5><a href="'+itemLink+'">'+itemTitle+'</a></font></li>'+itemDescription+'<br><br>';
			}
 
 
			content += '</ul>';
			// Display the result
			document.getElementById("ajaxreader").innerHTML = content;
 
			// Tell the reader the everything is done
			document.getElementById("status").innerHTML = "Terminé.";
 
		}
		else {
			// Tell the reader that there was error requesting data
			document.getElementById("status").innerHTML = "<div class=error>Des problèmes sont servenus lors de la récupération du Flux RSS.<div>";
		}
 
		HideShow('status');
	}
 
}
 
/*
* Main AJAX RSS reader request
*/
function RSSRequest() {
 
	// change the status to requesting data
	HideShow('status');
	document.getElementById("status").innerHTML = "Génération des résultats ...";
 
	// Prepare the request
	RSSRequestObject.open("GET", Backend , true);
	// Set the onreadystatechange function
	RSSRequestObject.onreadystatechange = ReqChange;
	// Send
	RSSRequestObject.send(null); 
}
 
/*
* Timer
*/
function update_timer() {
	RSSRequest();
}
 
 
function HideShow(id){
	var el = GetObject(id);
	if(el.style.display=="none")
	el.style.display='';
	else
	el.style.display='none';
}
 
function GetObject(id){
	var el = document.getElementById(id);
	return(el);
}
 
 
</script>
 
<body onload="RSSRequest();">
<!-- <h2>NOM de ma page</h2> -->
 
<div id="status" style="display:none"></div>
<div id="ajaxreader"></div>
</body>
 
</html>