2010-12-05 6 views
1

J'utilise un uiwebview pour faire une application web intégrée, avec le nouvel iOS 4.2 que vous pouvez imprimer directement avec l'objectif-C, mais je vouloir imprimer à partir de javascript en HTML.ios 4.2 uiwebview javascript window.print n'imprime pas, ne lance pas avant et après les événements

Le problème est que je ne vois pas la boîte de dialogue d'impression en cliquant sur le bouton qui exécute window.print().

J'ai aussi écrit ce code mais il n'obtient pas d'événements.

function beforePrint() { 
    alert("before rec"); 
} 

function afterPrint() { 
    alert("after rec"); 
} 


function checks(){ 
    alert("Activating checks"); 
    window.onbeforeprint = beforePrint; 
    window.onafterprint = afterPrint; 
} 

et cet événement lancé à partir d'un bouton img

onClick="js:checks();alert('print');window.print();alert('print done');" 

Dans un safari-je obtenir uniquement les messages pour activer les contrôles, l'impression de prévisualisation et "impression", "print" fait des messages ... aussi je ne reçois pas les événements.

Répondre

4

Pour autant que je sache, window.print() ne fait rien lors de l'exécution du code dans un UIWebView. Vous devez écrire un certain Objective-C natif pour exécuter UIViewPrintFormatter sur votre UIWebView, ou envoyer l'utilisateur à Safari.

+0

Je songe à mettre en commun chaque seconde uiwebview avec [webDisplayiPad stringByEvaluatingJavaScriptFromString: @ "document.myready"]; et si les données sont prêtes, collectez-le [webDisplayiPad stringByEvaluatingJavaScriptFromString: @ "collect_data();"]; pour avoir les données que j'ai besoin d'imprimer. – tyoc213

Questions connexes