Può capitare che all’ interno del nostro sito web si voglia facilitare l’ utente durante le operazioni di stampa e anteprima della pagina che si sta visitando. Si rivela molto utile in questo caso Javascript, attraverso il quale possiamo invocare i menu messi a disposizione dal browser che stiamo usando.
Il seguente codice utilizza il WebBrowser control, con Microsoft Visual Basic, ed è compatibile con Internet Explorer.
function printPreview(){
var OLECMDID = 7;
/*OLECMDID values:
* 6 - print
* 7 - print preview
* 1 - open window
* 4 - Save As
*/
var PROMPT = 1; // 2 DONTPROMPTUSER
var WebBrowser = '';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
WebBrowser1.ExecWB(OLECMDID, PROMPT);
WebBrowser1.outerHTML = '';
}
Come è possibile vedere sopra, è possibile variare il valore della variabile OLECMID per invocare altri menu del browser.
Il codice presentato NON funziona con Mozilla Firefox. Viene infatti generato il seguente messaggio di errore:
"document.body.insertAdjacentHTML is not a function"
In questo articolo, tratto da FAQTs, viene presentato uno script js per emulare il metodo insertAdjacentHTML nei browser Mozilla / Netscape.
3 Responses
Lorenzo Sfienti
April 2nd, 2008 at 12:03 am
1Ciao ho provato la funzione stampa e ho impostato var PROMPT = 2 Ma mi dà comunque da scegliere la stampante quando io vorrei mandarlo direttamente in stampa come il bottone Stampa della barra di Explorer.
Come mai?
Ferixo
April 2nd, 2008 at 9:31 am
2A partire da Windows XP SP2, e per tutte le versioni successive, non si può più nascondere il prompt del print preview per via delle restrizioni imposte di default dalla “sicurezza by microsoft”.
Auro
April 2nd, 2008 at 9:46 pm
3Ferixo non poteva rispondere meglio!
RSS feed for comments on this post · TrackBack URI
Leave a reply
Categorie
Archivi
Amici
Links
Antipixel
Meta