Autor | Zpráva | ||
---|---|---|---|
JohnBruk Profil |
#1 · Zasláno: 11. 1. 2005, 20:50:54
zdravím, prosím chtěl bych se zeptat, jak u tohoto scriptu (jestli to jde)
<script language="JavaScript"> <!-- schovej // otevri nove okno function JSL(mypage, myname, w, h, scroll) { var winl = (screen.width - w) / 2; var wint = (screen.height - h) / 2; winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scro ll+',resizable' win = window.open(mypage, myname, winprops) if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); } } // zobraz --> </script> ; odkaz je svázán definován : <a href="javascript:JSL('cilovy.jpg?OpenElement','',620,500,'yes');"><img src="odkazovy.jpg?OpenElement" border="0"></a> -lze zadat, aby se otevírané okno nadefinované javascriptem přizpůsobovalo velikosti obsahu stránky - konkrétně obrázku ? ....již mně moc nebaví definovat každý odkaz zvlášť...ušetřilo by to spoustu práce.... (tento způsob v tomto případě neužívám na internetu - ale v cd prezentaci!) předem dík honza |
||
Fred Profil |
#2 · Zasláno: 11. 1. 2005, 21:18:10
Nejsem si jistý, ale myslím si že by šlo vázat velikost toho okna na velikost toho thumbnailu z kterýho se to otevírá. Myslím, pokud je thumbnail oproti zvětšenině vždy ve stejném poměru např:
thumb : 200*100 náhled: 800*400 pak je to násobek 4 a šlo by se navázat na velikost toho thumbu tzn. otevřít okno s height=4*height thumbnailu atd. .... |
||
JohnBruk Profil |
#3 · Zasláno: 11. 1. 2005, 22:25:53
to fred : yo to zní good...y myslim, že by to mohlo snad i jít...ale...škoda., že ty náhledy nemám v poměru...takže by tohle asi aplikovat nešlo...škoda...ale díky za nápad..:-)
|
||
Fred Profil |
#4 · Zasláno: 11. 1. 2005, 22:29:21
Prakticky mi to trochu trvalo :-) tohle je pro případ, že velký obr je 4x větší než thumb
<script language="JavaScript"> <!-- schovej // otevri nove okno function JSL(mypage, myname, lll) { var w = lll.firstChild.getAttribute('width')*4; var h = lll.firstChild.getAttribute('height')*4; var winl = (screen.width - w) / 2; var wint = (screen.height - h) / 2; winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars=yes,re sizable'; win = window.open(mypage, myname, winprops) } // zobraz --> </script> <a href="#" onclick="JSL('about:blank','jmeno',this);" ><img src="mail.png" alt="mail" width="160" height="21" /></a> |
||
habendorf Profil |
#5 · Zasláno: 12. 1. 2005, 21:56:20
JohnBruk: možná by ti mohlo pomoci toto: http://diskuse.jakpsatweb.cz/index.php?action=vthread&topic=2159&forum =3&page=-1
A ještě: myslím že než <a href="javascript:JSL('cilovy.jpg?OpenElement','',620,500,'yes');"> je lepší použít <a href="#" onclick="JSL('cilovy.jpg?OpenElement','',620,500,'yes') return false"> |
||
Leo Profil |
#6 · Zasláno: 12. 1. 2005, 22:18:20
V principu jde zjistit JavaScriptem rozmery obrazku v pixelech a podle nich upravit velikost okna, problem je ale v tom, ze to JavaScript spolehlive zjisti az na udalost onload toho velkeho obrazku - jinak receno se musi nejdriv stahnout ze serveru a to chvilku trva. A ted mate dilema, pokud to nechate jen na JavaScriptu:
1, Kliknutim na odkaz se hned neotevre nove okno, ale nejdriv se "na pozadi" stahne obrazek, ochucha jeho velikost a pak teprve podle ni otevre okno / uzivatel bude zmateny proc klikani na odkaz nic nedela 2, Otevrete nove prazdne okno v nejake velikosti, pak do nej stahnete obrazek, a teprve az dorazi tak upravite okno / neco se deje hned, ale neni to moc elegance, ze... O prasarnach typu <a href="#" se ani sirit nebudu... Leo Leo |
||
habendorf Profil |
#7 · Zasláno: 13. 1. 2005, 00:57:10
O prasarnach typu <a href="#" se ani sirit nebudu... Leo
No pořád lepší než <a href="javascript:... Možná že než takováto odpověď by bylo lepší poradit, jak na to lépe. IMHO nejlepší je <a href="cilovy.jpg" onclick="JSL('cilovy.jpg?OpenElement','',620,500,'yes') return false">, aby to i při vypnutém JS udělalo aspoň něco. |
||
Leo Profil |
#8 · Zasláno: 13. 1. 2005, 12:14:38
Jak na to lepe? Polozit si nejdriv otazku co se ma dit kdyz bude vypnuty javascript a podle toho udelat href odkazu - bud v nejhorsim povede na samotny velky obrazek, nebo na webovou stranku s velkym obrazkem. No a pak odchytit udalost onclick a otevrit okno - respektive se o to pokusit. Pokud se otevre tak vratit false, pokud ne vratit true. Velikost noveho okna a to, co se v nem ma otevrit je jina vec. Leo
|
||
Fred Profil |
#9 · Zasláno: 13. 1. 2005, 14:13:22
Leo No mě se taky nelíbilo přesně to co Habendorfovi, jenom jsem mlčel, protože tady šlo o příklad a že jsem použil href="#" to neznamená, že bych to použil v praxi. Dle mého skromného názoru je pěkná hovadina používat jakkékoliv popup okno. Na to nemusí být vypnutý javascript. Mám na počítači pěknou sbírku prohlížečů a ani jeden to neotevře, pokud mu to výslovně nepovolím. Firefox a Mozilla zakázáno, je-li galerie v popupech použiju prostřední kolečko myši. IE blokováno toolbarem (někteří blokováno SP2) , otevřu pravou myší v novém okně. Opera otevře se to jak v popup tak v novém tabu, zavřu popup a jedu prostřední myší. Maxthon blokováno, taktéž prostřední. Zkoušel jsem Addmuncher , blokoval popupy, zkoušel jsem různé firewally blokovaly popupy, testoval jsem několik lišt blokovaly popupy. Docela by mě zajímalo jestli se dá nějak objektivně změřit kolik návštěvníků má dnes povolené popup okna ?? Ale to se tady víceméně už jednou řešilo http://diskuse.jakpsatweb.cz/index.php?action=vthread&topic=1966&forum =8&page=-1 . Mám docela rád javascript a jeho možnosti, je ale smutné kolik lidí dneska při vyslovení slova javascript křičí Apage satanas a je to jen kvůli nevhodnému použití a to si myslím, že právě popup je. Příště si dám pozor abych někomu neúmyslně radil nevhodný href="#" .
IMHO ten script co jsem vybastlil výše by tedy trochu lépěji měl vypadat nějak takhle, s tím že je třeba taky vyhodit cokoliv z js do externího dokumentu, stejně jako v css ( tzn. i onclick="udelejneco()" ) , a nakonec je to v tomhle případě stejně k ničemu z důvodů časté blokace popupů jak jsem psal výš. function okno(toto){ var w=toto.firstChild.getAttribute('width')*4; //4 je poměr velikosti thumbnailu k velkému obrázku var h=toto.firstChild.getAttribute('height')*4; var kde=toto.href var winl=(screen.width-w)/2; var wint=(screen.height-h)/2; winprops='height='+h+',width='+w+',top='+wint+',left='+winl+',scrollba rs=yes,resizable'; win=window.open(kde,'jmeno',winprops) } function udelejto(){ var co=document.getElementsByTagName('a'); for(var i=0;i<co.length;i++){co[i].onclick=function(){okno(this);return false;}}} //onload funkce http://www.scottandrew.com/weblog/articles/cbs-events function addEvent(obj,evType,fn){ if(obj.addEventListener){ obj.addEventListener(evType,fn,true); return true; }else if(obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; }else{ return false; }} addEvent(window,'load',udelejto); <a href="obr1.htm"><img src="obr1.png" alt="mail" width="160" height="21" /></a> <a href="obr2.htm"><img src="obr2.png" alt="mail" width="21" height="50" /></a> |
||
Leo Profil |
#10 · Zasláno: 13. 1. 2005, 14:21:21
No ja jsem samozrejme taky proti otevirani novych oken, ale to neres(i)me. Leo
|
||
Leo Profil |
#11 · Zasláno: 13. 1. 2005, 14:24:31
Mel byste jeste otestovat jestli se nove okno skutecne otevrelo, a pak vratit false nebo true misto tvrdeho
okno(this); return false; Leo |
||
JohnBruk Profil |
#12 · Zasláno: 13. 1. 2005, 16:24:50
to all: tedy mooc vám děkuji...včera jsem tady zrovna nebyl...a dívám se kolik je tady příspěvků....myslim, že řešení je na nasnadě...mooc díky všem :-) !!
|
||
JohnBruk Profil |
#13 · Zasláno: 13. 1. 2005, 16:33:22
no doufám, že mě nebudete kamenovat...ale zapomněl jsem napsat, že toto řešení potřebuji pro flashovou prezentaci (jaj...jsem to ale blb )...každopádně..nenapadá mně lepší řešení na otevření fulll obrázku než v pop-up okně....tohle mně na flashi vadí....práce s většími obrázky....v html bych to moc složitě řešit ani nemusel... .-/
|
||
JohnBruk Profil |
#14 · Zasláno: 13. 1. 2005, 16:34:49
každopádně určitě to ve flashi půjde použít ;-) ještě jednou díky..
|
||
Leo Profil |
#15 · Zasláno: 13. 1. 2005, 16:35:12
Myslite Flash na webove strance nebo ne? Leo
|
||
JohnBruk Profil |
#16 · Zasláno: 13. 1. 2005, 16:45:25
to Leo : Flash *.exe samospustitelná prezentace...takže je blbé, že nepůjde hodit definici scriptu do onoho *.html ...Je to flash prezentace na CD (nemusí se to tedy přizpůsobovat návykům na netu)
btw : to Leo....tykání ne ? :-) |
||
JohnBruk Profil |
#17 · Zasláno: 13. 1. 2005, 17:19:36
nevím...v tomto případě...snad...šlo by nějakým způsobem volat script přímo z odkazu?...vim už jste to tady nastiňovali...ale nemám s tím přímo zkušenosti...jak by se to v praxi dalo použít?-pls..přesněji ?
|
||
Leo Profil |
#18 · Zasláno: 13. 1. 2005, 17:22:31
No to jste mozna mel rict na zacatku, ze na webu o webu nemluvite o webu, ale o uplne jinem programu... To je dost smula, musite udelat "nove okno" proste primo ve Flashi - novou vrstvu, Leo
|
||
JohnBruk Profil |
#19 · Zasláno: 14. 1. 2005, 02:51:03
to Leo : už jsem psal, že jsem blb....přiznávám... ale s tou novou vrstvou....chápu....nevím, jestli by to bylo ideální....ty obrázky jsou mnohdy větší jak 1600x1200
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0