Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/02/2011, 15h47   #1
Invité de passage
 
Inscription : février 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 2
Points : 0
Points : 0
Par défaut Envoyer une page web par mail

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 :
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>
Skeeder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 09h22   #2
Invité de passage
 
Inscription : février 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 2
Points : 0
Points : 0
C'est trop compliqué ce que je veux faire ^^'

Je pensais à un truc comme mettre 'content' dans le corps du mail. mais je sais pas trop comment procéder...
Skeeder est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h59.


 
 
 
 
Partenaires

Hébergement Web