"Per Thomsen" <PerThomsenNews@hotmail.com> wrote in
news:gprkc.151216$jf4.8010337@news000.worldonline.dk:
>> > Ja eller automatisk udskrift eller lign. Web-udviklerne må syntes
>> > der frygtligt besværligt at trykke på udskriv :)
>>
>> Det bruges ActiveX vel ikke til - javascript er nok til at åbne
>> Print- vinduet på den aktuelle PC. Det er ikke muligt for en
>> ActiveX-komponent at starte en udskrift automatisk - i hvert fald
>> ikke uden at prompte for installation først.
>>
> Bla.
www.politiken.dk hvis du beder om udskriftvenlig format. Kan ikke
> huske om den spørger først, da jeg har disablet ActiveX. Men den
> melder fejl, hvorefter jeg så kan udskrive manuelt.
Som standard afvikler IE ikke ikke-godkendte/signerede AxtiveX-komponenter,
dvs du får en fejl om, at den givne komponent ikke kan loades.
Man kan naturligvis sætte den op til at spørge først, men jeg
tvivler på, at det er noget, som ret mange gør.
I øvrigt bruger MS ordet "ActiveX" lidt i fælg - dvs det inkluderer
både VBS samt JScript. I disse teknologier er der nogle metoder,
der er rubricerede som "ikke-sikre", og disse kan ikke loades, med
mindre brugeren aktivt siger "ja".
Det er da også fuldstændigt godnat, hvad de har lavet på pol.dk .
Hvis man kigger i koden på print-siden, så står der:
<SCRIPT language=JavaScript>
DA = (document.all) ? 1 : 0
//PRINT VED KALD "StartPrint ()" i Netscape og Explorer
function StartPrint() {
if(DA){ print(); }
else { window.print(); }
}
function handle_error()
{
alert("Der blev ikke printet noget.")
return true;
}
</SCRIPT>
<SCRIPT LANGUAGE="VBScript">
sub window_onunload
on error resume next
set WB = nothing
end sub
sub print
OLECMDID_PRINT = 6
OLECMDEXECOPT_DONTPROMPTUSER = 2
OLECMDEXECOPT_PROMPTUSER = 1
on error resume next
if DA then
call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER)
else
call WB.IOleCommandTarget.Exec(OLECMDID_PRINT ,OLECMDEXECOPT_DONTPROMPTUSER,"","")
end if
if err.number <> 0 then
if DA then
alert "Intet printet"
else
end if
end if
end sub
if DA then
wbvers="8856F961-340A-11D0-A96B-00C04FD705A2"
else
wbvers="EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B"
end if
document.write "<OBJECT ID=""WB"" WIDTH=0 HEIGHT=0 CLASSID=""CLSID:"
document.write wbvers & """> </OBJECT>"
</SCRIPT>
Hvis jeg åbner siden med Mozilla, så kommer den velkendte print-dialogboks
frem via javascript, og jeg kan vælge at printe. Hvis jeg bruger IE, så
forsøger den med noget VBS at tilgå min printer direkte.
--
Jesper Stocholm
http://stocholm.dk
Programmer's code comment:
//It probably makes more sense when you're stoned.