Avatar billede prodic Mester
20. marts 2001 - 17:05 Der er 7 kommentarer og
1 løsning

Print Page - (Cross-OS og Cross-Browser)

Mangler et script, der kan udskrive en frame.

Det er så mænd ikke så svært igen, men den skal virke på alle platforme og alle tænkelige styresystemer.

Og gider ikke se den her :
<script language=\"JavaScript\">
function printpage()
{
window.print()
}
</script>

For den virker kun i IE.
Jeg kan til nødt bruge en der virker i IE og NS på PC, men Mac må gerne være med!

MVH
Prodic
Avatar billede a-torsten Nybegynder
20. marts 2001 - 17:09 #1
lige en lille copy and paste, som jeg har haft til at ligge i 100 år...

<SCRIPT LANGUAGE=\"JavaScript\">
<!--

var da = (document.all) ? 1 : 0;
var pr = (window.print) ? 1 : 0;
var mac = (navigator.userAgent.indexOf(\"Mac\") != -1);

function printPage() {
  if (pr) // NS4, IE5
    window.print()
  else if (da && !mac) // IE4 (Windows)
    vbPrintPage()
  else // other browsers
    alert(\"Sorry, your browser doesn\'t support this feature.\");
  return false;
}

if (da && !pr && !mac) with (document) {
  writeln(\'<OBJECT ID=\"WB\" WIDTH=\"0\" HEIGHT=\"0\" CLASSID=\"clsid:8856F961-340A-11D0-A96B-00C04FD705A2\"></OBJECT>\');
  writeln(\'<\' + \'SCRIPT LANGUAGE=\"VBScript\">\');
  writeln(\'Sub window_onunload\');
  writeln(\'  On Error Resume Next\');
  writeln(\'  Set WB = nothing\');
  writeln(\'End Sub\');
  writeln(\'Sub vbPrintPage\');
  writeln(\'  OLECMDID_PRINT = 6\');
  writeln(\'  OLECMDEXECOPT_DONTPROMPTUSER = 2\');
  writeln(\'  OLECMDEXECOPT_PROMPTUSER = 1\');
  writeln(\'  On Error Resume Next\');
  writeln(\'  WB.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER\');
  writeln(\'End Sub\');
  writeln(\'<\' + \'/SCRIPT>\');
}

// -->
</SCRIPT>


<A HREF=\"#\" onClick=\"return printPage()\">Print</A>

-Anders

PS: Mener at den virker...
Avatar billede a-torsten Nybegynder
20. marts 2001 - 17:11 #2
fandt oxo lige den her, her på eksperten...

<SCRIPT language=\"javascript\">

function printo(){
if (
  ((navigator.appName == \"Netscape\") && (parseInt(navigator.appVersion) >= 4)))
  NS4();

if (
  ((navigator.appName == \"Microsoft Internet Explorer\") && (parseInt(navigator.appVersion) >= 4)))
  IE4();
}


function NS4(){
window.print()
}

function IE4() {
var OLECMDID_PRINT = 6;
var OLECMDEXECOPT_DONTPROMPTUSER = 2;
var OLECMDEXECOPT_PROMPTUSER = 1;
var WebBrowser = \'<OBJECT ID=\"WebBrowser1\" WIDTH=0 HEIGHT=0 CLASSID=\"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2\"></OBJECT>\';
document.body.insertAdjacentHTML(\'beforeEnd\', WebBrowser);

oldHandler = window.onerror;
window.onerror = deal;

WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER);
WebBrowser1.outerHTML = \"\";
window.onerror = oldHandler;

function deal() {
WebBrowser1.outerHTML = \"\";
window.onerror = oldHandler;
return true;
}
}
</SCRIPT>

og så slutter du bare med et link.

<A HREF=\"java script:printo()\">AT PRINTE</A>

-Anders
Avatar billede prodic Mester
20. marts 2001 - 17:12 #3
Torsten->Ved du om den virker???
Avatar billede a-torsten Nybegynder
20. marts 2001 - 17:12 #4
ahh... glem lige den sidste.....
Avatar billede a-torsten Nybegynder
20. marts 2001 - 17:13 #5
prodic... den virkede på min ns 4 sa jeg havde det...... I disse tider må jeg nok desvære melde pas..... Jeg har nemlig ikke haft NS længe...

-Anders
Avatar billede limemedia Nybegynder
20. marts 2001 - 17:17 #6
Prodic >> husk lige at fjerne knappen hvis det er en browser der ikke understøtter print :) det er lidt et slag i \'bæret at få \"Sorry you\'re browser is too old and you didn\'t update it stupid!\" agtig besked :)
Avatar billede prodic Mester
23. marts 2001 - 20:49 #7
Undskyld den lange ventetid, men jeg fordeler point i løbet af weekenden. Skal lige finde en Mac og teste det på.!
Avatar billede prodic Mester
28. marts 2001 - 22:08 #8
hmm det blev en lang weekend!!

Jeg har endnu ikke testet løsningen, men tror jer på jeres ord.

Tak for hjælpen, og beklager den sene afslutning af spørgsmålet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester