2010-11-02 25 views
1

Je n'arrive pas à faire un petit morceau de javascript fonctionnant dans un email de lotus notes 6.5. Je construis un fichier html, je l'envoie par mail en format html, et à l'intérieur je voudrais avoir des liens pour cacher/montrer quelques div. J'essaie d'utiliser document.getElementById mais quand je clique sur le lien, j'ai l'erreur suivante:Lotus Notes cacher/montrer div

"document.getElementById is not a function". 

Je pense à l'aide d'un document.getElementById(id).style.display='none'; pour le cacher (si je peux gérer la div).

Des idées pour afficher/masquer ma div?

Répondre

2

Le moteur HTML de Lotus Notes n'est pas comparable à un navigateur. Je suis à peu près certain que le message d'erreur est correct quand il est dit "document.getElementById n'est pas une fonction" - il y a peu ou pas de support pour javascript dans les emails Notes.

Si vous avez besoin de masquer/afficher quelque chose dans Notes, vous devrez créer un formulaire Notes avec des actions et masquer des formules pour obtenir le même effet. Ensuite, les e-mails peuvent être envoyés avec le formulaire intégré dans l'e-mail, et une fois reçu, l'e-mail ouvrira ce formulaire au lieu d'un formulaire de mémo typique. Remarque: il est peu probable que la plupart des clients de messagerie (Outlook, etc.) prennent en charge le javascript en raison des failles de sécurité qu'il ouvrirait. Vous aurez peut-être plus de chance d'envoyer un lien aux utilisateurs et de les faire ouvrir une page Web ou une base de données Notes où vous aurez plus de contrôle sur la façon dont les choses leur sont présentées.

2

La racine du problème est que Notes n'affiche pas HTML *. Pour afficher un e-mail MIME au format HTML (ou tout autre champ de texte enrichi dont le contenu est stocké en tant que MIME et HTML), le contenu doit d'abord être converti en format RTF Notes (données composites ou CD). La conversion du HTML statique s'est beaucoup améliorée au fil des ans, mais une fois la conversion terminée, il n'y a plus de document HTML à modifier. Évidemment, votre lien/action a été correctement traduit dans son équivalent Notes, mais il n'y a pas de hook pour les méthodes DOM dans le client Notes. JavaScript est pratiquement limité à la manipulation des valeurs de champs (via la méthode d'accès document.forms[0].LiteralFieldName), à l'échange d'images (via la collection document.images) et à un petit sous-ensemble des méthodes de l'objet window.

* Vous pouvez afficher des pages Web pures dans le client Notes, mais qui utilise le contrôle IE ActiveX dans l'onglet complet - il n'est pas disponible en mode natif pour le rendu d'une partie d'un document.

0

il ne peut pas répondre à vos besoins HTML, mais peut vous aider à cacher/montrer le contenu:

  • Dans un nouveau message, sélectionnez le contenu que vous souhaitez masquer/afficher
  • Cliquez sur Créer/Section
  • Vous pouvez également définir un nom pour cette section dans les propriétés de la section

(œuvres dans Lotus Notes 8.5)