Autor Zpráva
habendorf
Profil
Na událost volám funkci z externího JS. V hlavičce mám ten JS klasicky nadefinovaný:
<script type="text/javascript" src="print.js"></script>

Chtěl bych vědět, jestli můžu tu funkci volat nějak lépe, tak, aby se externí JS zbytečně nenačítal, dokud není potřeba. A nebo je to tak, že se načítá až když volám tu funkci?

Díky
centi
Profil
No podla mna je externy skript (tak isto ako aj externe CSS) nacitavane pri nacitani stranky (pri dalsich reloadoch by sa uz mali tahat z cache) a je to tak dobre, pretoze ak chcem nejaku funkciu na nejaku udalost zavolat tak by uz mala byt u mna, nebudem predsa cakat kym sa stiahne.
habendorf
Profil
nebudem predsa cakat kym sa stiahne

Jenže na ni čekáš při prvním načtení stránky a pak ji třeba uživatel nepoužije. A to je to, o co mi jde.
Marty
Profil
Tak tu funkci načti až když ji budeš potřebovat.
Třeba pokud chceš aby se fce vykonala při stiskuntí tlačítka, tak do onclick dej document.write, který ti vypíše vložení funkce(klasicky přes script).
Nijak jsem to netestoval, ale mělo by to fungovat.
Snad jsem to popsal srozumitelně.
habendorf
Profil
Marty: To mě napadlo taky, ale mám to v XHTML. A to mi document.write nevezme.
Marty
Profil
habendorf no tak s tím to bude horší

našel jsem nějakou funkci deffer, má to urychlit načítání, když v externím souboru jsou jen funkce, asi to znáš, ale třeba ti to pomůže
Fred
Profil
Asi to záleží na tom jestli je tam onload. Jinak mám dojem, že se na to taky používá defer, ale nikdy jsem to nikde neviděl použité http://www.w3.org/TR/2002/WD-xhtml2-20020805/mod-scripting.html#sec_18 .2.
Fred
Profil
Marty ups byl jsi dřív ;-)
Marty
Profil
Nedalo mi to a hledal jsem dál.
Narazil jsem na funkci createElement(nebo tak nějak), měli by se pomocí ní dát vytvořit jednotlivé html elementy, a tím pádem by se pomocí této funkce měli dát i zavolat externí skripty.
Zkoušel jsem hledat, ale nikde není moc detailně popsána, a stálo by za to to ozkoušet.
Fred
Profil
habendorf A co ta fce bude dělat?
habendorf
Profil
Marty, Fred: Hoši zlatí děkuji, myslím že defer je přesně to, co jsem hledal!!! Yuhů tam sice píše "nejistá funkčnost", ale myslím, že se nemůže stát nic horšího, než že se ten skript přinejhorším načte hned.
Popravdě řečeno, ten skript má 336 bytů, takže v praxi je to úplně jedno, šlo mi spíš o princip.
habendorf
Profil
Aha, tak jsem se ještě pořádně koukl na ten Fredův link - Attribute defer not found. The attribute defer was not able to be loaded by the document generator. This implies that either 1) the attribute is not yet defined, or 2) the name is incorrect.

Nevadí, kašlu na to.
Yuhů
Profil
mrkni na tohle:

http://www.jakpsatweb.cz/clanky/na-co-stranka-ceka.html#skripty
habendorf
Profil
Fred: Ta funkce generuje náhled pro tisk, v podstatě je to primitivní styleswitcher. Mám styl jménem "preview" pro media="screen, projection", který je úplně stejný jako styl pro media="print", jen jsou v něm zviditelněné odkazy "Vytisknout" a "Zpět".
Pak volám pro náhled prepniStyl('preview','main') a pro návrat prepniStyl('main','preview'). A v té funkci mám:
function prepniStyl(novy,puvodni)

{
document.getElementById(novy).disabled=true;
document.getElementById(puvodni).disabled=true;
document.getElementById(novy).disabled=false;
}

Pro ff a Operu to jde i bez toho prvního řádku. Zajímavé je, že pro IE se musí nový styl prvně zakázat, aby šel následně povolit.
Externě to mám proto, že to volám z každé stránky. Nakonec se mi ten script podařilo sesekat na 197 bytů, takže ta moje původní otázka je spíše akademická, než praktická. Spokojil jsem se s tím, že ten script natahuju až úplně na konci, před </body>.

K vidění na rozpracovaném webu w*w*w.brs.cz/new (nechci tu tapetovat), ve středním sloupci dole, ikona tiskárny.

Yuhů: Díky. Na té stránce píšeš i o stylech. Co tam ale nepíšeš je jak je to s alternativními a tiskovými styly. Docela by mě zajímalo, jestli se natahují hned, nebo až v okamžiku kdy jsou zapotřebí.
habendorf
Profil
Fred: Tak ještě malinko jinak: pořád mě dráždilo, že tam mám pro preview a pro print dva různé styly, které mají z 99% stejný obsah. Tak jsem to vyřešil takhle:
<link rel="stylesheet" type="text/css" href="main.css" media="screen, projection" title="main" id="main" />

<link rel="alternate stylesheet" type="text/css" href="preview.css" media="screen, projection" title="preview" id="preview" />
<link rel="stylesheet" type="text/css" href="preview.css" media="print" />
<link rel="stylesheet" type="text/css" href="print.css" media="print" />

Ten print.css je 30 bytový soubůrek a funguje jako doplněk ke stylu pouze pro tisk. Je v něm jen
#previewonly {display:none;},
čili pro tisk schovám to co chci mít v preview viditelné. Teď už jsem s tím docela spokojenej, ušetřil jsem 2kB, jde o princip.
Jinak ten styleswitcher je pořád stejnej.
Fred
Profil
habendorf Hmm to je hodně pěkně sesekaný, o hodně kratší než můj pokus o něco podobné ;-) http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=8&topic=21 34 .
Štefan
Profil *
ahoj, snažil jsem se dát na web datum a čas následujícím kódem :
<script type="text/javascript">
function tick() {
var hours, minutes, seconds, ap;
var intHours, intMinutes, intSeconds;
var today;

today = new Date();

intHours = today.getHours();
intMinutes = today.getMinutes();
intSeconds = today.getSeconds();

if (intHours == 0) {
hours = "12:";
ap = "Midnight";
}
else if (intHours < 12) {
hours = intHours+":";
ap = "A.M.";
}
else if (intHours == 12) {
hours = "12:";
ap = "Noon";
}
else {
intHours = intHours - 12
hours = intHours + ":";
ap = "P.M.";
}
if (intMinutes < 10) {
minutes = "0"+intMinutes+":";
}
else {
minutes = intMinutes+":";
}
if (intSeconds < 10) {
seconds = "0"+intSeconds+" ";
}
else {
seconds = intSeconds+" ";
}

timeString = hours+minutes+seconds+ap;
Clock.innerHTML = timeString;
window.setTimeout("tick();", 100);
}
window.onload = tick;
</script>
<script type="text/javascript">
var now = new Date();
var yr = now.getYear();
var mName = now.getMonth() + 1;
var dName = now.getDay() + 1.;
var dayNr = ((now.getDate()<10) ? "" : "")+ now.getDate();

if(dName==1) Day = "Neděle";
if(dName==2) Day = "Pondělí";
if(dName==3) Day = "Úterý";
if(dName==4) Day = "Středa";
if(dName==5) Day = "Čtvrtek";
if(dName==6) Day = "Pátek";
if(dName==7) Day = "Sobota";
if(mName==1) Month="1.";
if(mName==2) Month="2.";
if(mName==3) Month="3.";
if(mName==4) Month="4.";
if(mName==5) Month="5.";
if(mName==6) Month="6.";
if(mName==7) Month="7.";
if(mName==8) Month="8.";
if(mName==9) Month="9.";
if(mName==10) Month="10.";
if(mName==11) Month="11.";
if(mName==12) Month="12.";


var todaysDate =(" "
+ Day
+ " "
+ dayNr
+ ". "
+ Month
+ " "
+ yr);
// Write date to page.

document.open();
document.write("Dnes je <b> "+todaysDate+"</b> , svátek má <b></b>");

today = new Date();
den=today.getDate();
mesic=(today.getMonth()+1);
if (mesic==1) {
if (den==01) document.write("Nový rok");
if (den==02) document.write("Karina");
if (den==03) document.write("Radmila");
if (den==04) document.write("Diana");
if (den==05) document.write("Dalimil");
if (den==06) document.write("Tři králové");
if (den==07) document.write("Vilma");
if (den==08) document.write("Čestmír");
if (den==09) document.write("Vladan");
if (den==10) document.write("Břetislav");
if (den==11) document.write("Bohdana");
if (den==12) document.write("Pravoslav");
if (den==13) document.write("Edita");
if (den==14) document.write("Radovan");
if (den==15) document.write("Alice");
if (den==16) document.write("Ctirad");
if (den==17) document.write("Drahoslav");
if (den==18) document.write("Vladislav");
if (den==19) document.write("Doubravka");
if (den==20) document.write("Ilona");
if (den==21) document.write("Běla");
if (den==22) document.write("Slavomír");
if (den==23) document.write("Zdeněk");
if (den==24) document.write("Milena");
if (den==25) document.write("Miloš");
if (den==26) document.write("Zora");
if (den==27) document.write("Ingrid");
if (den==28) document.write("Otýlie");
if (den==29) document.write("Zdislava");
if (den==30) document.write("Robin");
if (den==31) document.write("Marika");
}
if (mesic==2) {
if (den==01) document.write("Hynek");
if (den==02) document.write("Nela");
if (den==03) document.write("Blažej");
if (den==04) document.write("Jarmila");
if (den==05) document.write("Dobromila");
if (den==06) document.write("Vanda");
if (den==07) document.write("Veronika");
if (den==08) document.write("Milada");
if (den==09) document.write("Apolena");
if (den==10) document.write("Mojmír");
if (den==11) document.write("Božena");
if (den==12) document.write("Slavěna");
if (den==13) document.write("Věnceslav");
if (den==14) document.write("Valentýn");
if (den==15) document.write("Jiřina");
if (den==16) document.write("Ljuba");
if (den==17) document.write("Miloslava");
if (den==18) document.write("Gizela");
if (den==19) document.write("Patrik");
if (den==20) document.write("Oldřich");
if (den==21) document.write("Lenka");
if (den==22) document.write("Petr");
if (den==23) document.write("Svatopluk");
if (den==24) document.write("Matěj");
if (den==25) document.write("Liliana");
if (den==26) document.write("Dorota");
if (den==27) document.write("Alexandr");
if (den==28) document.write("Lumír");
if (den==29) document.write(".....");
}
if (mesic==3) {
if (den==01) document.write("Bedřich");
if (den==02) document.write("Anežka");
if (den==03) document.write("Kamil");
if (den==04) document.write("Stela");
if (den==05) document.write("Kazimir");
if (den==06) document.write("Miroslav");
if (den==07) document.write("Tomáš");
if (den==08) document.write("Gabriela");
if (den==09) document.write("Františka");
if (den==10) document.write("Viktorie");
if (den==11) document.write("Anděla");
if (den==12) document.write("Řehoř");
if (den==13) document.write("Růžena");
if (den==14) document.write("Růt a Matylda");
if (den==15) document.write("Ida");
if (den==16) document.write("Elena a Herbert");
if (den==17) document.write("Vlastimil");
if (den==18) document.write("Eduard");
if (den==19) document.write("Josef");
if (den==20) document.write("Světlana");
if (den==21) document.write("Radek");
if (den==22) document.write("Leona");
if (den==23) document.write("Ivona");
if (den==24) document.write("Gabriel");
if (den==25) document.write("Marian");
if (den==26) document.write("Emanuel");
if (den==27) document.write("Dita");
if (den==28) document.write("Soňa");
if (den==29) document.write("Taťána");
if (den==30) document.write("Arnošt");
if (den==31) document.write("Kvido");
}
if (mesic==4) {
if (den==01) document.write("Hugo");
if (den==02) document.write("Erika");
if (den==03) document.write("Richard");
if (den==04) document.write("Ivana");
if (den==05) document.write("Miroslava");
if (den==06) document.write("Vendula");
if (den==07) document.write("Heřman a Hermína");
if (den==08) document.write("Ema");
if (den==09) document.write("Dušan");
if (den==10) document.write("Darja");
if (den==11) document.write("Izabela");
if (den==12) document.write("Julius");
if (den==13) document.write("Aleš");
if (den==14) document.write("Vincenc");
if (den==15) document.write("Anastázie");
if (den==16) document.write("Irena");
if (den==17) document.write("Rudolf");
if (den==18) document.write("Valérie");
if (den==19) document.write("Rostislav");
if (den==20) document.write("Marcela");
if (den==21) document.write("Alexandra");
if (den==22) document.write("Evženie");
if (den==23) document.write("Vojtěch");
if (den==24) document.write("Jiří");
if (den==25) document.write("Marek");
if (den==26) document.write("Oto");
if (den==27) document.write("Jaroslav");
if (den==28) document.write("Vlastislav");
if (den==29) document.write("Robert");
if (den==30) document.write("Blahoslav");
}
if (mesic==5) {
if (den==01) document.write(".....");
if (den==02) document.write("Zikmund");
if (den==03) document.write("Alexej");
if (den==04) document.write("Květoslav");
if (den==05) document.write("Klaudie");
if (den==06) document.write("Radoslav");
if (den==07) document.write("Stanislav");
if (den==08) document.write(".....");
if (den==09) document.write("Ctibor");
if (den==10) document.write("Blažena");
if (den==11) document.write("Svatava");
if (den==12) document.write("Pankrác");
if (den==13) document.write("Servác");
if (den==14) document.write("Bonifác");
if (den==15) document.write("Žofie");
if (den==16) document.write("Přemysl");
if (den==17) document.write("Aneta");
if (den==18) document.write("Nataša");
if (den==19) document.write("Ivo");
if (den==20) document.write("Zbyšek");
if (den==21) document.write("Monika");
if (den==22) document.write("Emil");
if (den==23) document.write("Vladimír");
if (den==24) document.write("Jana");
if (den==25) document.write("Viola");
if (den==26) document.write("Filip");
if (den==27) document.write("Valdemar");
if (den==28) document.write("Vilém");
if (den==29) document.write("Maxmilián");
if (den==30) document.write("Ferdinand");
if (den==31) document.write("Kamila");
}
if (mesic==6) {
if (den==0
Štefan
Profil *
1) document.write("Laura");
if (den==02) document.write("Jarmil");
if (den==03) document.write("Tamara");
if (den==04) document.write("Dalibor");
if (den==05) document.write("Dobroslav");
if (den==06) document.write("Norbert");
if (den==07) document.write("Iveta a Slavoj");
if (den==08) document.write("Medard");
if (den==09) document.write("Stanislava");
if (den==10) document.write("Gita");
if (den==11) document.write("Bruno");
if (den==12) document.write("Antonie");
if (den==13) document.write("Antonín");
if (den==14) document.write("Roland");
if (den==15) document.write("Vít");
if (den==16) document.write("Zbyněk");
if (den==17) document.write("Adolf");
if (den==18) document.write("Milan");
if (den==19) document.write("Leoš");
if (den==20) document.write("Květa");
if (den==21) document.write("Alois");
if (den==22) document.write("Pavla");
if (den==23) document.write("Zdeňka");
if (den==24) document.write("Jan");
if (den==25) document.write("Ivan");
if (den==26) document.write("Adriana");
if (den==27) document.write("Ladislav");
if (den==28) document.write("Lubomír");
if (den==29) document.write("Petr a Pavel");
if (den==30) document.write("Šárka");
}
if (mesic==7) {
if (den==01) document.write("Jaroslava");
if (den==02) document.write("Patricie");
if (den==03) document.write("Radomír");
if (den==04) document.write("Prokop");
if (den==05) document.write(".....");
if (den==06) document.write(".....");
if (den==07) document.write("Bohuslava");
if (den==08) document.write("Nora");
if (den==09) document.write("Drahoslava");
if (den==10) document.write("Libuše a Amálie");
if (den==11) document.write("Olga");
if (den==12) document.write("Bořek");
if (den==13) document.write("Markéta");
if (den==14) document.write("Karolína");
if (den==15) document.write("Jindřich");
if (den==16) document.write("Luboš");
if (den==17) document.write("Martina");
if (den==18) document.write("Drahomíra");
if (den==19) document.write("Čeněk");
if (den==20) document.write("Ilja");
if (den==21) document.write("Vítězslav");
if (den==22) document.write("Magdaléna");
if (den==23) document.write("Libor");
if (den==24) document.write("Kristýna");
if (den==25) document.write("Jakub");
if (den==26) document.write("Anna");
if (den==27) document.write("Věroslav");
if (den==28) document.write("Viktor");
if (den==29) document.write("Marta");
if (den==30) document.write("Bořivoj");
if (den==31) document.write("Ignác");
}
if (mesic==8) {
if (den==01) document.write("Oskar");
if (den==02) document.write("Gustav");
if (den==03) document.write("Miluše");
if (den==04) document.write("Dominik");
if (den==05) document.write("Kristian");
if (den==06) document.write("Oldřiška");
if (den==07) document.write("Lada");
if (den==08) document.write("Soběslav");
if (den==09) document.write("Roman");
if (den==10) document.write("Vavřinec");
if (den==11) document.write("Zuzana");
if (den==12) document.write("Klára");
if (den==13) document.write("Alena");
if (den==14) document.write("Alan");
if (den==15) document.write("Hana");
if (den==16) document.write("Jáchym");
if (den==17) document.write("Petra");
if (den==18) document.write("Helena");
if (den==19) document.write("Ludvík");
if (den==20) document.write("Bernard");
if (den==21) document.write("Johana");
if (den==22) document.write("Bohuslav");
if (den==23) document.write("Sandra");
if (den==24) document.write("Bartoloměj");
if (den==25) document.write("Radim");
if (den==26) document.write("Luděk");
if (den==27) document.write("Otakar");
if (den==28) document.write("Augustýn");
if (den==29) document.write("Evelína");
if (den==30) document.write("Vladěna");
if (den==31) document.write("Pavlína");
}
if (mesic==9) {
if (den==01) document.write("Linda a Samuel");
if (den==02) document.write("Adéla");
if (den==03) document.write("Bronislav");
if (den==04) document.write("Jindřiška");
if (den==05) document.write("Boris");
if (den==06) document.write("Boleslav");
if (den==07) document.write("Regína");
if (den==08) document.write("Mariana");
if (den==09) document.write("Daniela");
if (den==10) document.write("Irma");
if (den==11) document.write("Denisa");
if (den==12) document.write("Marie");
if (den==13) document.write("Lubor");
if (den==14) document.write("Radka");
if (den==15) document.write("Jolana");
if (den==16) document.write("Ludmila");
if (den==17) document.write("Naděžda");
if (den==18) document.write("Kryštof");
if (den==19) document.write("Zita");
if (den==20) document.write("Oleg");
if (den==21) document.write("Matouš");
if (den==22) document.write("Darina");
if (den==23) document.write("Berta");
if (den==24) document.write("Jaromír");
if (den==25) document.write("Zlata");
if (den==26) document.write("Andrea");
if (den==27) document.write("Jonáš");
if (den==28) document.write("Václav");
if (den==29) document.write("Michal");
if (den==30) document.write("Jeroným");
}
if (mesic==10) {
if (den==01) document.write("Igor");
if (den==02) document.write("Olivie a Oliver");
if (den==03) document.write("Bohumil");
if (den==04) document.write("František");
if (den==05) document.write("Eliška");
if (den==06) document.write("Hanuš");
if (den==07) document.write("Justýna");
if (den==08) document.write("Věra");
if (den==09) document.write("Štefan a Sára");
if (den==10) document.write("Marina");
if (den==11) document.write("Andrej");
if (den==12) document.write("Marcel");
if (den==13) document.write("Renáta");
if (den==14) document.write("Agáta");
if (den==15) document.write("Tereza");
if (den==16) document.write("Havel");
if (den==17) document.write("Hedvika");
if (den==18) document.write("Lukáš");
if (den==19) document.write("Michaela");
if (den==20) document.write("Vendelín");
if (den==21) document.write("Brigita");
if (den==22) document.write("Sabina");
if (den==23) document.write("Teodor");
if (den==24) document.write("Nina");
if (den==25) document.write("Beáta");
if (den==26) document.write("Erik");
if (den==27) document.write("Šarlota a Zoe");
if (den==28) document.write(".....");
if (den==29) document.write("Silvie");
if (den==30) document.write("Tadeáš");
if (den==31) document.write("Štěpánka");
}
if (mesic==11) {
if (den==01) document.write("Felix");
if (den==02) document.write(".....");
if (den==03) document.write("Hubert");
if (den==04) document.write("Karel");
if (den==05) document.write("Miriam");
if (den==06) document.write("Liběna");
if (den==07) document.write("Saskie");
if (den==08) document.write("Bohumír");
if (den==09) document.write("Bohdan");
if (den==10) document.write("Evžen");
if (den==11) document.write("Martin");
if (den==12) document.write("Benedikt");
if (den==13) document.write("Tibor");
if (den==14) document.write("Sáva");
if (den==15) document.write("Leopold");
if (den==16) document.write("Otmar");
if (den==17) document.write("Mahulena");
if (den==18) document.write("Romana");
if (den==19) document.write("Alžběta");
if (den==20) document.write("Nikola");
if (den==21) document.write("Albert");
if (den==22) document.write("Cecílie");
if (den==23) document.write("Klement");
if (den==24) document.write("Emílie");
if (den==25) document.write("Kateřina");
if (den==26) document.write("Artur");
if (den==27) document.write("Xenie");
if (den==28) document.write("René");
if (den==29) document.write("Zina");
if (den==30) document.write("Ondřej");
}
if (mesic==12) {
if (den==01) document.write("Iva");
if (den==02) document.write("Blanka");
if (den==03) document.write("Svatoslav");
if (den==04) document.write("Barbora");
if (den==05) document.write("Jitka");
if (den==06) document.write("Mikuláš");
if (den==07) document.write("Ambrož a Aenjamín");
if (den==08) document.write("Květoslava");
if (den==09) document.write("Vratislav");
if (den==10) document.write("Julie");
if (den==11) document.write("Dana");
if (den==12) document.write("Simona");
if (den==13) document.write("Lucie");
if (den==14) document.write("Lýdie");
if (den==15) document.write("Radana a Radan");
if (den==16) document.write("Albína");
if (den==17) document.write("Daniel");
if (den==18) document.write("M
Štefan
Profil *
iloslav");
if (den==19) document.write("Ester");
if (den==20) document.write("Dagmar");
if (den==21) document.write("Natálie");
if (den==22) document.write("Šimon");
if (den==23) document.write("Vlasta");
if (den==24) document.write("Adam a Eva");
if (den==25) document.write("....je 2.vánoční svátek....");
if (den==26) document.write("Štěpán");
if (den==27) document.write("Žaneta");
if (den==28) document.write("Bohumila");
if (den==29) document.write("Judita");
if (den==30) document.write("David");
if (den==31) document.write("Silvestr");
document.write("</b>");
}

</script>
a je:
<span id=Clock align=center style="font-family: Verdana"></span>
ale při každém pokusu o volání tohoto scriptu nebo vložení na web mi přestane fungovat wysiwyg editor. nevíte někdo co s tím ??? děkuji za každou radu.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0