Bonjour,

J'utilise ExecWB(7,0) pour afficher automatiquement l'apercu avant impression d'une page.

Quand je ferme l'apercu avant impression, je reviens sur ma page mais les évênements de cette page ne semblent plus fonctionner: il ne se passe rien. Par exemple, une icone pour imprimer la page ne va plus imprimer ma page.

Si j'enlève l'appel à ExecWB(7,0) dans ma page, mes évênements marchent (j'imprime ma page via l'icone).
Les évênements de <body> comme onfocus, onblur, onresize "ne fonctionnent plus" non plus: par exemple avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<body onresize="window.close()">
ma fenêtre reste affichée même si je change sa taille.

Je n'arrive pas à voir d'où vient mon erreur?


Merci de votre aide.

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
 
function printPreview()
{
  if(navigator.appName == "Microsoft Internet Explorer")
  {    
      WebBrowserCtrl.ExecWB(7,0);    //Execute object 
      WebBrowserCtrl.outerHTML = "";           
  }   
}
 
function directPrint()
{
  if(navigator.appName == "Microsoft Internet Explorer")  
  {                
    WebBrowserCtrl.ExecWB(6, 2);      //Print without dialog box  
    WebBrowserCtrl.outerHTML = "";
    javascript:window.close();  
  }
  else
  {
    window.print();
  }     
}
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
 
<body border="0">
  <object id="WebBrowserCtrl" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" ></object><!--allows to execute commands to the page in which it is embedded.-->  
  <img src="img/spacer.jpg" WIDTH="550" HEIGHT="1"/>
  <xsl:element name="input">
    <xsl:attribute name="type">image</xsl:attribute>
    <xsl:attribute name="value">print</xsl:attribute>
    <xsl:attribute name="src">./img/print.jpg</xsl:attribute>
    <xsl:attribute name="onclick">
      javascript:window.focus();       
      directPrint();   
    </xsl:attribute>   
  (...)
    <script Language="JavaScript">
      printPreview(); 
    </script>    
</body>