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> '+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> |