[Javascript] setAttribute type
eddiegordo
-
xav3601 Messages postés 3289 Date d'inscription Statut Membre Dernière intervention -
xav3601 Messages postés 3289 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Pour la création d'un site internet, je dois permettre aux visiteurs d'imprimer des fichiers pdf directement depuis le site (sans passer par la fonction imprimer d'adobe).
J'ai donc fait un lien qui fait appel à une fonction javascript que j'ai créé.
Mon problème se situe lorsque je tente d'imprimer avec IE : si je lance la fonction, une fenêtre s'ouvre bien mais n'affiche pas le pdf dans la page.
En y regardant de plus près avec DebugBar (équivalent de firebug sous IE8), je me rend compte que l'object a bien été créé mais que celui ci comporte un type sans les guillemets : type=application/pdf
Du coup IE ne comprend pas qu'il doit afficher un fichier pdf, et donc il l'affiche pas...
J'ai essayé de mettre :
et toutes les configurations possibles avec " ou ' mais rien n'y fait.
Quelqu'un aurai-t-il une idée de pourquoi IE n'entoure pas de guillemets la valeur de l'attribut type quand je créé un object avec du javascript ?
Merci
Pour la création d'un site internet, je dois permettre aux visiteurs d'imprimer des fichiers pdf directement depuis le site (sans passer par la fonction imprimer d'adobe).
J'ai donc fait un lien qui fait appel à une fonction javascript que j'ai créé.
function imprimerPdf(chemin) { if (navigator.appName == 'Microsoft Internet Explorer') { if(newWindow = window.open()) { var openBody = newWindow.document.createElement("body"); newWindow.document.insertBefore(openBody); var myObjectPDF = newWindow.document.createElement("object"); myObjectPDF.setAttribute('data', chemin); myObjectPDF.setAttribute('type', 'application/pdf'); myObjectPDF.setAttribute('width', '100%'); myObjectPDF.setAttribute('height', '100%'); newWindow.document.body.appendChild(myObjectPDF); newWindow.print(); } else { alert("erreur lors de l'ouverture de la page"); } } else { newWindow = window.open(chemin, "Impression du fichier PDF") setTimeout("newWindow.print()",1250); } }
Mon problème se situe lorsque je tente d'imprimer avec IE : si je lance la fonction, une fenêtre s'ouvre bien mais n'affiche pas le pdf dans la page.
En y regardant de plus près avec DebugBar (équivalent de firebug sous IE8), je me rend compte que l'object a bien été créé mais que celui ci comporte un type sans les guillemets : type=application/pdf
Du coup IE ne comprend pas qu'il doit afficher un fichier pdf, et donc il l'affiche pas...
J'ai essayé de mettre :
myObjectPDF.setAttribute('type', '\"application/pdf\"');
et toutes les configurations possibles avec " ou ' mais rien n'y fait.
Quelqu'un aurai-t-il une idée de pourquoi IE n'entoure pas de guillemets la valeur de l'attribut type quand je créé un object avec du javascript ?
Merci
A voir également:
- [Javascript] setAttribute type
- Clear type - Guide
- Telecharger javascript - Télécharger - Langages
- Type de ram - Guide
- Incompatibilité de type vba ✓ - Forum Excel
- Comment changer le type de fichier - Guide