Vienā vaicājumā, kas daudz parādās dažādos Javascript forumos, tiek jautāts, kā lapu nosūtīt tieši printerim, vispirms neizrādot drukāt dialoglodziņu.
Nevis tikai jums to pasaka to nevar izdarīt iespējams, noderīgāks būtu skaidrojums, kāpēc šāda iespēja nav iespējama.
Kurš drukāšanas dialoglodziņš tiek parādīts, kad kāds nospiež drukāšanas poga viņu pārlūkprogrammā vai Javascript window.print () metodes palaišana ir atkarīga no operētājsistēmas un tā, kādi printeri ir instalēti datorā.
Tā kā vairums cilvēku datorā izmanto operētājsistēmu Windows, vispirms aprakstīsim, kā drukas iestatīšana darbojas šajā operētājsistēmā. * Nix un Mac operētājsistēmas nedaudz atšķiras detaļās, taču kopumā tās ir iestatītas līdzīgi.
Drukāšanas dialogs
Windows drukas dialoglodziņā ir divas daļas. Pirmais no tiem ir daļa no Windows API (lietojumprogrammu programmēšanas interfeiss). API ir parasto koda gabalu kopums, kas tiek turēts dažādos DLL (Dinamisko saišu bibliotēka) faili, kas ir Windows daļa operētājsistēma
. Jebkura Windows programma var (un tai vajadzētu) izsaukt API, lai veiktu kopīgas funkcijas, piemēram, parādītu drukas dialoglodziņu, lai tas to darītu visās programmās darbojas vienādi, un dažādās vietās nav atšķirīgu opciju, kā drukas opcija izdarīja DOS programmā dienas. Drukas dialoglodziņš API nodrošina arī kopēju saskarni, kas visām programmām drīzāk ļauj piekļūt vienam un tam pašam printera draiveru kopumam nekā printeru ražotājiem ir jāizveido draivera programmatūra printerim katrai atsevišķai programmai, kuru vēlaties izmantot tā.Printera draiveri ir drukāšanas dialoga otra puse. Ir vairākas dažādas valodas, kuras dažādi printeri saprot, ka viņi izmanto, lai kontrolētu lapas drukāšanu (piemēram,. PCL5 un Postscript). Printera draiveris norāda Print API, kā tulkot standarta iekšējās drukas formātu ka operētājsistēma saprot pielāgotā iezīmēšanas valodā konkrēto printeri saprot. Tas arī pielāgo opcijas, kuras tiek parādītas dialoglodziņā Drukāt, lai atspoguļotu opcijas, kuras piedāvā konkrētais printeris.
Printera lietošana
Atsevišķā datorā, iespējams, nav instalēti printeri, tam var būt viens lokālais printeris piekļuvi vairākiem printeriem tīklā, to var pat iestatīt drukāšanai uz PDF vai iepriekš formatētu drukāšanu failu. Ja ir definēti vairāk nekā viens "printeris", viens no tiem tiek apzīmēts kā noklusējuma printeris, kas nozīmē, ka tas ir tas, kurš drukas dialoglodziņā parāda tā detaļas, kad tas parādās pirmo reizi.
Operētājsistēma seko noklusējuma printerim un identificē šo printeri dažādām datora programmām. Tas ļauj programmām nodot papildu parametru drukāšanas API, norādot, ka drukāt tieši uz noklusējuma printeri, vispirms neizstādot drukāšanas dialogu. Daudzām programmām ir divas dažādas drukāšanas iespējas - izvēlnes ieraksts, kurā tiek parādīts drukāšanas dialogs, un rīkjoslas ātras drukāšanas poga, kas tiek nosūtīta tieši uz noklusējuma printeri.
Kad jums ir tīmekļa lapa, kuru apmeklētāji gatavojas drukāt, jums blakus nav informācijas par to, kāds (-i) printeris (-i) viņiem ir pieejams. Lielākā daļa printeru visā pasaulē ir konfigurēti drukāšanai uz A4 formāta papīra, taču jūs nevarat garantēt, ka printeris ir iestatīts uz šo noklusējuma iestatījumu. Vienā Ziemeļamerikas valstī tiek izmantots nestandarta papīra izmērs, kas ir īsāks un platāks par A4. Lielākā daļa printeru ir iestatīti drukāšanai portreta režīmā (kur šaurāks virziens ir platums, bet dažus var iestatīt uz ainavu, kur garāka dimensija ir platums). Protams, katram printerim ir atšķirīgas noklusējuma piemales printera augšdaļā, apakšā un sānos pat pirms īpašnieki ieiet un maina visus iestatījumus, lai printeris būtu tāds, kāds ir gribu.
Ņemot vērā visus šos faktorus, jūs nevarat pateikt, vai noklusējuma printeris ar tā noklusējuma konfigurāciju izdrukās jūsu tīmekli lapa uz A3 ar nenozīmīgām piemaksām vai uz A5 ar milzīgām piemaksām (atstājot nedaudz vairāk par pastmarkas lieluma laukumu lapas vidū lappuse). Jūs droši vien varat pieņemt, ka lielākajai daļai lapas drukas laukums būs aptuveni 16 cm x 25 cm (plus vai mīnus 80%).
Drukāšanas vajadzības
Tā kā printeri starp jūsu potenciālajiem apmeklētājiem ir ļoti atšķirīgi (vai kāds pieminēja lāzerprinteri, tintes printerus, krāsainus vai melnbaltus? tikai fotoattēlu kvalitāte, melnraksta režīms un vēl daudz vairāk) jums nav iespējas pateikt, kas viņiem būs jādara, lai saprātīgā veidā izdrukātu jūsu lapu formāts. iespējams, viņiem ir atsevišķs printeris vai otrs draiveris tam pašam printerim, kas nodrošina pilnīgi atšķirīgus iestatījumus īpaši tīmekļa lapām.
Tālāk nāk jautājums par to, ko viņi varētu vēlēties izdrukāt. Vai viņi vēlas visu lapu vai arī viņi ir izvēlējušies tikai to lapas daļu, kuru vēlas izdrukāt? Ja jūsu vietne izmanto rāmjus, vai viņi vēlas visus rāmjus izdrukāt tā, kā tie parādās lapā, vai viņi vēlas drukāt katru rāmi atsevišķi, vai arī viņi vēlas tikai drukāt noteiktu rāmi?
Nepieciešamība atbildēt uz visiem šiem jautājumiem padara drukas dialoglodziņa parādīšanos vienmēr pieejamu vēlaties kaut ko izdrukāt, lai viņi varētu pārliecināties, vai iestatījumi ir pareizi, pirms nonāk drukāšanas vietā pogu. Lielākā daļa pārlūkprogrammu arī nodrošina iespēju vienai no pārlūka rīkjoslām pievienot pogu “ātra drukāšana” lappuse, kas jādrukā uz noklusējuma printera, izmantojot noklusējuma pārlūka iestatījumus attiecībā uz drukājamo un kā.
Javascript
Pārlūkprogrammas šo pārlūka un printera iestatījumu daudzveidību nedara pieejamu Javascript. Javascript galvenokārt attiecas uz strāvas modificēšanu mājas lapa un tādējādi tīmekļa pārlūkprogrammas sniedz minimālu informāciju par pašu pārlūku un blakus nav informācijas par operētājsistēmu, kas pieejama Javascript jo Javascript nav jāzina šīs lietas, lai veiktu tās lietas, kuras Javascript ir paredzēts darīt.
Pamata drošība saka: ja kaut kas līdzīgs Javascript nav jāzina par operētājsistēmu un pārlūka konfigurācija, lai manipulētu ar tīmekļa lapu, tad tā ar to nav jāsniedz informācija. Nav tā, ka Javascript vajadzētu būt iespējai mainīt printera iestatījumus uz atbilstošām vērtībām pašreizējās lapas drukāšana, jo Javascript tas nav paredzēts - tas ir drukas darbs dialoglodziņš. Tāpēc pārlūkprogrammas Javascript padara pieejamas tikai tām lietām, kuras Javascript jāzina, piemēram, ekrāna lielumu, pieejamā vieta pārlūka logā lai parādītu lapu, un līdzīgas lietas, kas palīdz Javascript noteikt lapas izkārtojumu. Pašreizējā tīmekļa lapa ir vienīgā Javascript problēma.
Iekšējie tīkli
Iekšējie tīkli, protams, ir pavisam cita lieta. Izmantojot iekštīklu, jūs zināt, ka visi piekļūt lapai izmanto īpašu pārlūkprogrammu (parasti jaunāko Internet Explorer versiju), un tai ir īpaša ekrāna izšķirtspēja un piekļuve noteiktiem printeriem. Tas nozīmē, ka iekštīklā ir jēga drukāt tieši uz printeri bez drukāšanas dialoglodziņa parādīšana, jo persona, kas raksta tīmekļa lapu, zina, kurš printeris tas būs iespiests uz.
Tāpēc Javascript aizstājējam Internet Explorer (sauktam JScript) ir nedaudz vairāk informācijas par pārlūku un operētājsistēmu, nekā to dara pats Javascript. Atsevišķus tīkla datorus, kuros darbojas iekštīkls, iespējams, var konfigurēt, lai atļautu JScript window.print () komandu rakstīt tieši printerī, neparādot drukāšanas dialogu. Šī konfigurācija būtu jāiestata individuāli katrā klienta datorā, un tā ievērojami pārsniedz Javascript raksta darbības jomu.
Runājot par tīmekļa lapām internetā, nav absolūti nekādas iespējas, ko varat iestatīt Javascript komanda nosūtīt tieši uz noklusējuma printeri. Ja jūsu apmeklētāji to vēlas, viņiem pārlūka rīkjoslā būs jāiestata sava poga “ātri drukāt”.