ugrás a tartalomhoz

Archívum - Ápr 2008

április 22

Böngészőfüggetlen teljes dokumentum méret.

s_volenszki · 2008. Ápr. 22. (K), 10.33
Sziasztok!

Elhatároztam, hogy egyszer s mindenkorra rendbe rakom ezt a kérdést (legfőképpen a fejemben) de nem jutok előre.

Le akarom kérdezni JS-el az aktuális böngésző ablakban megnyílt dokumentum teljes méretét. Nem titok, AJAX közben le akarom fedni egy átlátszó div-vel (pl startlap mikor be akarsz jelentkezni). Volt is ezidái egy működő verzióm, de egy érdekes igény következtében kiderült, hogy nem is az! Ugyan is mint kiderült, átméretezéskor nem a keletkező szükséges legnagyobb méretet veszi fel, hanem a kliens teljes szélességét.

Próbálgattam prototype-val, mindenképpen ebben gondolkozom, másra is használom. Ezeket tettem ezidáig:

Adtam body-nak egy id-t és:

       var body_dimensions = $('body').getDimensions();
       Width = body_dimensions.width + 'px';
       Height = body_dimensions.height + 'px';
       $('cover').setStyle({width: Width,height: Height,display: 'block'});
Ez ugye nem lett jó, mert csak a látható területet adja vissza a scroll nem látható területét nem. Ráadásul ha kisebb a body mint az oldal teljes magassága és szélessége akkor meg csak egy töredékét az oldalnak.

Ezek után egy kitétellel megnézettem, hogy a body magassága és szélessége kisebb-e mint window.innerHeight és window.innerWidth. MErt ha igen, akkor ezen méretekre nyújtja a fedést. Ez tökéletesen működik, mindaddíg, amíg a tartalom nem lesz nagyobb, mint a látható ablakfelület.

Próbáltam azt, hogy csináltam egy div-et ami befoglalta a teljes tartalmat. Adtam neki width:100%-ot de átméretezésnél ez is a látható ablakméret szélességét veszi fel (a magasság az jó, bár ugyan az mint a body magassága).

Azt kellene valahogyan kiderítenem, mekkora a teljes szélesség és magasság, vagy mekkorák a nem látható scroll területek méretei.

Légyszi adjatok néhány tanácsot, doksit...Köszönöm!

s_volenszki
 

Javascript - van jovoje?

zoliky · 2008. Ápr. 22. (K), 01.32
Szeretnem jobban megismeri a JavaScript nyelvet es szeretnem tudni ha erdemes vele foglalkozni.
Komoly JavaScript es AJAX ismeretekel lehet fejleszteni web aplikaciokat, peldaul: rajzolo program weben, szoveg szerkezto, stb... ?
Elnezest a kerdesekert, de jol jonne par tanacs foleg olyanoktol akik belekeztek valamikor a JavaScript tanulasba. Koszonom!
 

április 21

mail() és [ENTER] problémák

dood · 2008. Ápr. 21. (H), 21.54
Sziasztok!

Előre is bocs, ha már volt kérdés.

A mail() fv-nyel azt tapasztaltam, hogy olykor elküldi szépen és gyorsan a levelet, vmikor pedig késve, vagy - ami nagyobb baj - , hogy egyáltalán nem. Mi lehet ennek az oka és hol kell megoldást keresni rá!

Ha már itt vagyok megkérdezem azt is, hogy egy form ( <textarea> ) - ban a beírt szöveg esetén az [enter] nyomását nem érzékeli a mysql és amikor kiolvasom ( pl. vendégkönyv esetében ) egybefolyó szöveget ír ki. Ennek a problémának a forrását is keresem és rá egy lehetséges megoldást. kösz.

Üdv, dood
 

Rook Security - Capthca

Heilig Szabolcs · 2008. Ápr. 21. (H), 18.37
Hogyan kell sikeresen captcha-t törni. És persze mivel lehetett volna nehezíteni.
 

Hol kezdjem a webszerkesztéssel kapcsolatos tanulást?

marcarc · 2008. Ápr. 21. (H), 15.29
Sziasztok!

Azzal kapcsolatban írok, hogy szeretnék elkezdeni komolyabban foglalkozni a web szerkesztéssel illetve web- design-al. Akár későbbiekben ebből megélni. Már kerestem tanfolyamokat (pl.: http://www.infosuli.hu/ , http://www.web-excel-word-tanfolyam.hu,) de nem voltam teljesen biztos, hogy azok nyújtanak annyit, amivel kezdhetnek is valamit. Persze kezdésnek gondolom tökéletese, de mi jön azután? Tehát kérdésem az lenne, hogy szerintetek hol érdemes és hogyan elkezdeni a dolgot??
Üdv: Marci
 

FCKEditor Create

fERI · 2008. Ápr. 21. (H), 15.07
Sziasztok!

Az alábbi dologra keresek megoldást:

Egy admin felület fejlesztésén dolgozom, és igen igényesen szeretném megcsinálni. A front-end oldal tartalma ezen a back-end-en keresztül lenne szerkeszthető FCKEditor segítségével. A tartalom adatbázisban kerülne tárolásra. A tartalom első körben a felhasználónak megjelenítésre kerülne (mondjuk egy táblázat vagy div területben, mely egyedi azonosítóval került ellátásra). A feladat az lenne, hogy egy gombnyomásra (Pl.: szerkeszt gomb, mely akciója egy külső JavaScript függvényben van megadva) a dedikált helyen lévő formázott tartalom helyén a szerkesztő jelenne meg, benne a módosítandó információval. Próbálkoztam azzal, hogy JavaScript segítségével a szerkesztőt a megfelelő helyre betöltöm (szerver kommunikáció nélkül) innerHTML segítségével, de a szerkesztő Create metódusa nem akarja az igazságot. A legjobb ötletem egyenlőre az, hogy a tartalmat és a szerkesztőt külön külön helyeken megjelenítem (egymás alatt) és CSS segítséégével, display: none; és társai segítségével a megfelelőt jelenítem meg a felhasználói igényeknek megfelelően (szerkesztés gomb megnyomása, mentés gomb megnyomása, stb.). A megoldás nagyon piszkálja a csőröm, nem igazán szeretném ezt alkalmazni (kontár és igényleten dolognak tartanám). Van valakinek jobb ötlete? A textarea csere megoldással az a bajom, hogy abba az elembe nem lehet formázott szöveget beletenni, holott az első megjelenés alkalmával ez lenne az igény.

Várom a javaslatokat (akár AJAX alkalmazásával is).

Előre is köszönöm mindenkinek.

Üdvözlettel:
fERI
 

Hogyan készítsek API-t?

lorko · 2008. Ápr. 21. (H), 10.19
Sziasztok,

elkezdetem írni egy api-t amiről azt hittem működik, de most kiderült, hogy nem mindig.
Ha valaki tud valami jó leírást hogyan csináljunk, fejlesszünk saját api-t azt kérem ossza meg velem.

Előre is köszönöm
 

április 20

Tömeges e-mail küldése Ruby on Rails alkalmazásból

Fekete Ferenc GDA · 2008. Ápr. 20. (V), 20.06
Valós példa, éles környezetből
 

Ajaxos eseménynaptárnál karakterkódolási hiba, mysql ba..

dc-hungary · 2008. Ápr. 20. (V), 19.57
Üdv!

Van egy ajaxos eseménynaptáram, de annyi problémám van vele, hogy az ékezetes betűket így írja be az adatbázisba:

űűűáááééúúő helyett ŹŹŹåååÊÊúúĹ�

az adatbázisba, ahol a szöveget tárolom, annak a mezőnek a karakterkódolása: latin2_general_ci
Hozzá kell tenni, hogy máshol jó az ékezet, csak ennél nem, de ha én írom be a phpmyadminba az ékezetes betűt, akkor jól jeleníti meg.
Szóval a beírással van a gond. na igen, ez úgy működik hogy egyik php átadja a másiknak a beírt szöveget ajax-al.
és én arra gyanakszok, hogy itt rontja el az ékezeteket..

Próbáltam már a lekérdezésnél UTF8 , LATIN2 , stb.. de egyikel se lett jó.
Szóval a beírást kéne megcsinálni, hogy ékezetesen írja be..

Kiszedtem a scriptből, így csak azt osztom meg, ami ehhez szükséges:


index.php (form):
		<div style="display: none; margin-top: 10px;" id="addEventForm">
			<b>Új esemény</b>
			<br>
			Date: <input type="text" size="2" id="evtDay" disabled> <input type="text" size="2" id="evtMonth" disabled> <input type="text" size="4" id="evtYear" disabled>
			<br>
			<textarea name="szoveg" id="evtBody" cols="32" rows="5"></textarea>
			<br>
			<input type="button" value="Új esemény" onClick="addEvent($F('evtDay'), $F('evtMonth'), $F('evtYear'), $F('evtBody'));">
		</div>
index.php (javascript):
<script type="text/javascript">
	function highlightCalendarCell(element) {
		$(element).style.border = '1px solid #999999';
	}

	function resetCalendarCell(element) {
		$(element).style.border = '1px solid #000000';
	}
	
	function startCalendar(month, year) {
		new Ajax.Updater('calendarInternal', 'rpc.php', {method: 'post', postBody: 'action=startCalendar&month='+month+'&year='+year+''});
	}
	
	function showEventForm(day) {
		$('evtDay').value = day;
		$('evtMonth').value = $F('ccMonth');
		$('evtYear').value = $F('ccYear');
		
		displayEvents(day, $F('ccMonth'), $F('ccYear'));
		
		if(Element.visible('addEventForm')) {
			// do nothing.
		} else {
			Element.show('addEventForm');
		}
	}
	
	function displayEvents(day, month, year) {
		new Ajax.Updater('eventList', 'rpc.php', {method: 'post', postBody: 'action=listEvents&&d='+day+'&m='+month+'&y='+year+''});
		if(Element.visible('eventList')) {
			// do nothing, its already visble.
		} else {
			setTimeout("Element.show('eventList')", 300);
		}
	}
	
	function addEvent(day, month, year, body) {
		if(day && month && year && body) {
			// alert('Add Event\nDay: '+day+'\nMonth: '+month+'\nYear: '+year+'\nBody: '+body);
			new Ajax.Request('rpc.php', {method: 'post', postBody: 'action=addEvent&d='+day+'&m='+month+'&y='+year+'&body='+body+'', onSuccess: highlightEvent(day)});
			$('evtBody').value = '';
		} else {
			alert('There was an unexpected script error.\nPlease ensure that you have not altered parts of it.');
		}
		
		// highlightEvent(day);
	} // addEvent.
	
	function highlightEvent(day) {
		Element.hide('addEventForm');
		$('calendarDay_'+day+'').style.background = '#<?= $eventColor ?>';
	}
	
	function showCP() {
		Element.show('cpBox');
	}
	
	function deleteEvent(eid) {
		confirmation = confirm('Are you sure you wish to delete this event?\n\nOnce the event is deleted, it is gone forever!');
		if(confirmation == true) {
			new Ajax.Request('rpc.php', {method: 'post', postBody: 'action=deleteEvent&eid='+eid+'', onSuccess: Element.hide('event_'+eid+'')});
		} else {
			// Do not delete it!.
		}
	}
</script>
rpc.php (beszúrás az adatbázisba):
	case 'addEvent':
		$day = $_POST['d'];
		$month = $_POST['m'];
		$year = $_POST['y'];
		$body = $_POST['body'];
		
		$timeStamp = mktime(0,0,0, $month, $day, $year);
		$bodyF = addslashes(trim($body));
		mysql_query("INSERT INTO event (text, timestamp) VALUES ('$body', '$timeStamp')");
		break;
rpc.php (lekérdezés, a SET NAMES-nál már többel is próbálkoztam, és egyik se lett jó.. [LATIN2, UTF8]):


[colorer=php]case 'listEvents':
$day = $_POST['d'];
$month = $_POST['m'];
$year = $_POST['y'];

$timeStamp = mktime(0,0,0, $month, $day, $year);

$eventQuery = mysql_query("SET NAMES `LATIN2` COLLATE `latin2_general_ci`");
$eventQuery = mysql_query("SELECT id, text FROM event WHERE timestamp='$timeStamp' ORDER BY id DESC");
if($eventQuery) {
if(mysql_num_rows($eventQuery) >0) {
echo '

Érték kinyerése JS-sel PARAM tagből

vami · 2008. Ápr. 20. (V), 19.05
akarok csinalnni 1 mp3 playert talaltam is 1 et
csak nem tudom beallitani a volume-ot.
Ezzel a fugvennyel probalkozk beallitani
function setBoxValue(val, box) {
    var // b=document.getElementById('output'+box);
         v=document.getElementById('volume');
	//val=Math.round(val*1000)/1000;
	val=Math.round(val);
	//b.value=val;
	v.value=val;
}
es ez van a html ben
<object id="player" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject" width="0" height="0"> 
<param name="autoStart" value="0"> 
<param name="balance" value="0"> 
<param name="currentPosition" value="0"> 
<param name="currentMarker" value="0"> 
<param name="enableContextMenu" value="0"> 
<param name="enableErrorDialogs" value="0"> 
<param name="enabled" value="-1"> 
<param name="fullScreen" value="0"> 
<param name="invokeURLs" value="0"> 
<param name="playCount" value="1"> 
<param name="rate" value="1"> 
<param name="uiMode" value="invisible"> 
<param name="volume" id ="volume" value="100"> 
<param name="URL" value> 
<param name="defaultFrame" value> 
<param name="baseURL" value> 
<param name="stretchToFit" value="0"> 
<param name="windowlessVideo" value="0"> 
<param name="SAMIStyle" value> 
<param name="SAMILang" value> 
<param name="SAMIFilename" value> 
<param name="captioningID" value> 
<embed id="player" type="application/x-mplayer2" src="" height="0" width="0"> 
</object> 
A kerdesem az h a JS fugvenyben h kerhetnem le a volume parametert u h hozzaferjek a value-hoz ???