Új hozzászólás Aktív témák

  • Sk8erPeter
    nagyúr

    Rendben, utánanézek majd, megcsinálom úgy.

    Az előző hsz-edet nem jelezte ki :o Azóta sem sikerült megcsinálni, gyorsan megcsinálom azzal, köszi! :) :)

    Szívesen, kérdezz, ha valami nem tiszta!

  • trisztan94
    őstag

    Teljesen egyetértek az ott hozzászólóval, iszonyat ocsmány lenne sima JavaScriptben egy AJAX-hívás, felesleges ezzel szívatnod magad, amikor ilyen jó library-k vannak, mint a jQuery és a többi hasonló. Persze ha nagyon szorgalmas vagy, akkor felfedezheted a spanyolviaszt. :D

    Amúgy ezelőtt én is írtam neked egy választ, arra még nem reagáltál. :)

    Rendben, utánanézek majd, megcsinálom úgy.

    Az előző hsz-edet nem jelezte ki :o Azóta sem sikerült megcsinálni, gyorsan megcsinálom azzal, köszi! :) :)

  • Sk8erPeter
    nagyúr

    Sziasztok!

    Ide írtam, de csak jQuery-s választ kaptam. Valaki kitudna segíteni egy good ol' javascript javítással ? :)

    :R

    T

    Teljesen egyetértek az ott hozzászólóval, iszonyat ocsmány lenne sima JavaScriptben egy AJAX-hívás, felesleges ezzel szívatnod magad, amikor ilyen jó library-k vannak, mint a jQuery és a többi hasonló. Persze ha nagyon szorgalmas vagy, akkor felfedezheted a spanyolviaszt. :D

    Amúgy ezelőtt én is írtam neked egy választ, arra még nem reagáltál. :)

  • trisztan94
    őstag

    Sziasztok!

    Ide írtam, de csak jQuery-s választ kaptam. Valaki kitudna segíteni egy good ol' javascript javítással ? :)

    :R

    T

  • Sk8erPeter
    nagyúr

    Sziasztok!

    Olyat szeretnék, hogy van egy file inputom, megcsinálva, hogy egy textboxban jelenjen meg, igazából nehéz elmagyarázni. Az elérési útvonal egy text inputban van, a lényeg az lenne, hogy amíg üres, tehát nem lett fájl tallózva, addig display:none; legyen, ha került bele adat, tehát a tallózás megvolt, akkor meg display:inline;

    itt a html:
    <input type="text" id="fileName" class="file_input_textbox" readonly="readonly">

    <div class="file_input_div">
    <input id="fileInputButton" type="button" value="Tallózás" class="file_input_button" />
    <input type="file" class="file_input_hidden"
    onchange="javascript: document.getElementById('fileName').value = this.value"
    onmouseover="document.getElementById('fileInputButton').className='file_input_button_hover';"
    onmouseout="document.getElementById('fileInputButton').className='file_input_button';" /></div>

    Szóval a legfelső az amiről beszéltem.

    itt a javascript:
    window.onload = function() {
    var textbox = document.getElementById('fileName');
    if (textbox.value == null)
    {
    textbox.style.display = 'none';
    }
    else
    {
    textbox.style.display = 'inline';
    }
    }

    Köszönöm szépen!

    :R :R

    Szerintem a File Style Plugin for jQuery-ből meríthetnél ötletet, ez egy külön szövegdobozt hoz létre a tallózott fájl elérési útjának megmutatására.
    Korábban készítettem róla egy demót jsFiddle-re, itt ha megnyomod a gombot, akkor átvált az új stílusra:
    http://jsfiddle.net/Sk8erPeter/JEVgF/

    Szerk.:
    egyébként itt a pluginben igazából ennyi a "nagy" trükk, ha ezt megnézed:

    var filename = $('<input class="file">')
    .addClass($(self).attr("class"))
    .css({
    "display": "inline",
    "width": settings.width + "px"
    });

    // .........

    $(self).bind("change", function() {
    filename.val($(self).val());
    });

    (A kipontozott résznél van még egy-két dolog.)
    Így tehát amikor kiválasztod a fájlt, akkor a filename nevű inputelem (ami egy textfield) értéke megváltozik a fájl elérési útjára.
    Itt a "self" az a fájltallózó inputelem lesz, amire beállítod a File Style Plugint.
    Persze ahhoz, hogy ezt jobban értsd, valamennyire a jQuery alapjaival tisztában kell lenni.
    Ha ez megvan, onnantól elég könnyű megoldani a feladatodat.

  • trisztan94
    őstag

    Sziasztok!

    Olyat szeretnék, hogy van egy file inputom, megcsinálva, hogy egy textboxban jelenjen meg, igazából nehéz elmagyarázni. Az elérési útvonal egy text inputban van, a lényeg az lenne, hogy amíg üres, tehát nem lett fájl tallózva, addig display:none; legyen, ha került bele adat, tehát a tallózás megvolt, akkor meg display:inline;

    itt a html:
    <input type="text" id="fileName" class="file_input_textbox" readonly="readonly">

    <div class="file_input_div">
    <input id="fileInputButton" type="button" value="Tallózás" class="file_input_button" />
    <input type="file" class="file_input_hidden"
    onchange="javascript: document.getElementById('fileName').value = this.value"
    onmouseover="document.getElementById('fileInputButton').className='file_input_button_hover';"
    onmouseout="document.getElementById('fileInputButton').className='file_input_button';" /></div>

    Szóval a legfelső az amiről beszéltem.

    itt a javascript:
    window.onload = function() {
    var textbox = document.getElementById('fileName');
    if (textbox.value == null)
    {
    textbox.style.display = 'none';
    }
    else
    {
    textbox.style.display = 'inline';
    }
    }

    Köszönöm szépen!

    :R :R

  • Csedit
    aktív tag

    A lementett oldal tartalmát persze, úgy szerkeszted, ahogy akarod, de a tőled teljesen független oldal kódjába nem tudsz belebarmolni, csak ha hacker vagy. :D
    Amúgy melyik ez az oldal?

    Pü-ben válaszoltam.

  • Sk8erPeter
    nagyúr

    Jól van, nem kell kinevetni...:)
    A lementett oldal tartalmát tudom szerkeszteni.

    Akkor marad a rabszolgamunka :))

    A lementett oldal tartalmát persze, úgy szerkeszted, ahogy akarod, de a tőled teljesen független oldal kódjába nem tudsz belebarmolni, csak ha hacker vagy. :D
    Amúgy melyik ez az oldal?

  • Csedit
    aktív tag

    És, hogy akartad az oldalon lévő kódot kicserélni egy általad szerkesztettre?:D

    Jól van, nem kell kinevetni...:)
    A lementett oldal tartalmát tudom szerkeszteni.

    Akkor marad a rabszolgamunka :))

  • Jim-Y
    veterán

    Akkor elmondom pontosan mit szeretnék.
    Van a neten egy weboldal, ahol szakkönyvek vannak fent. Le van korlátozva az egyszerre letölthető oldalszám 20-ra.
    Kellemetlen, de nem megoldhatatlan 20 oldalasával letölteni a nekem kellő könyveket.
    Erre kerestem volna valami megoldást, miközben bogarásztam az oldal forráskódját.

    És, hogy akartad az oldalon lévő kódot kicserélni egy általad szerkesztettre?:D

  • Csedit
    aktív tag

    Szerintem túlbonyolítod a kódot. Ezenkívül remélem azt tudod, hogy a kliensoldali korlátozás nem sokat ér, szerveroldalon kell korlátozni az ilyesmit ahhoz, hogy hatása is legyen (pl. PHP-vel), a JavaScript kikapcsolható, megkerülhető, stb.
    A FromField, ToField nálad mire használatos?

    Röviden elmondom, szerintem mi lenne az egyszerűbb és korlátozás szempontjából is egy fokkal jobb megoldás (attól is függ, mennyire megy a JavaScript, meg a szerveroldali kódolás):
    1.) indítasz egy sessiont szerveroldalon (PHP: session_start() ), kezdetben beállítod 0-ra az eddigi letöltések (gondolom ezt akarod korlátozni) számát (pl. PHP: $_SESSION['nr_of_downloads'] = 0;)
    2.) a mentésre való klikkeléskor AJAX-szal küldesz egy egyszerű lekérést a szerver felé, lekérdezed, letölthet-e még a felhasználó (nem lépte-e át a 20-as korlátot) (pl. PHP: if($_SESSION['nr_of_downloads'] < 20)
    3.) - ha igen, akkor elindíthatod a letöltést, és megnöveled eggyel ($_SESSION['nr_of_downloads']++;)
    - ha nem, feldobod neki a figyelmeztető ablakot akár alert()-tel kliensoldalon

    Akkor elmondom pontosan mit szeretnék.
    Van a neten egy weboldal, ahol szakkönyvek vannak fent. Le van korlátozva az egyszerre letölthető oldalszám 20-ra.
    Kellemetlen, de nem megoldhatatlan 20 oldalasával letölteni a nekem kellő könyveket.
    Erre kerestem volna valami megoldást, miközben bogarásztam az oldal forráskódját.

  • Sk8erPeter
    nagyúr

    Sziasztok!

    Egy nagyon rövidke JavaScript rutin javításában kérnék segítséget.

    Pdf néző prorgam mentés része le van korlátozva 20 oldalra. Ezt a korlátot kellene valahogy fentebb tornászni.
    Itt a script.
    Hiába javítom ki a 20-at többre az nem segít.

    function Save() {
    var from = FromField.getValue()*1;
    var to = ToField.getValue()*1;
    if( from - 1 >= 0 && from - 1 <= maxPage && to - 1 <= maxPage && to - 1 >= 0 && from+0 <= to+0 )
    {
    if( to - from >= 20 )
    {
    alert("Max 20 pages");
    }
    else
    {
    var from1 = from - 1;
    var to1 = to - 1;
    var SaveUrl = pdfDir+pdfFileName+"/slice?pg="+from1+"&to="+to1+"&hideui=0";
    FromField.setValue("");
    ToField.setValue("");
    saveWindow.hide();
    window.open(SaveUrl);
    }
    }
    else
    {
    alert("Invalid pages");
    if( from - 1 > maxPage )
    FromField.setValue(maxPage+'');
    if( from - 1 < 0 )
    FromField.setValue('1');
    if( to - 1 > maxPage )
    ToField.setValue(maxPage+'');
    if( to - 1 < 0 )
    ToField.setValue('1');
    if( from*1 > to*1 )
    ToField.setValue( from );
    }
    }

    function hideSaveWindow() {
    FromField.setValue("");
    ToField.setValue("");
    saveWindow.hide();
    }

    Köszönöm.

    Szerintem túlbonyolítod a kódot. Ezenkívül remélem azt tudod, hogy a kliensoldali korlátozás nem sokat ér, szerveroldalon kell korlátozni az ilyesmit ahhoz, hogy hatása is legyen (pl. PHP-vel), a JavaScript kikapcsolható, megkerülhető, stb.
    A FromField, ToField nálad mire használatos?

    Röviden elmondom, szerintem mi lenne az egyszerűbb és korlátozás szempontjából is egy fokkal jobb megoldás (attól is függ, mennyire megy a JavaScript, meg a szerveroldali kódolás):
    1.) indítasz egy sessiont szerveroldalon (PHP: session_start() ), kezdetben beállítod 0-ra az eddigi letöltések (gondolom ezt akarod korlátozni) számát (pl. PHP: $_SESSION['nr_of_downloads'] = 0;)
    2.) a mentésre való klikkeléskor AJAX-szal küldesz egy egyszerű lekérést a szerver felé, lekérdezed, letölthet-e még a felhasználó (nem lépte-e át a 20-as korlátot) (pl. PHP: if($_SESSION['nr_of_downloads'] < 20)
    3.) - ha igen, akkor elindíthatod a letöltést, és megnöveled eggyel ($_SESSION['nr_of_downloads']++;)
    - ha nem, feldobod neki a figyelmeztető ablakot akár alert()-tel kliensoldalon

  • Jim-Y
    veterán

    Nem jó, hibaüzenettel elszáll.
    Viszont, ha a 20-at kisebbre írom, akkor csak annyi oldalt enged letölteni.

    Mivel rosszul tagolva írtad be, így kimaradt egy } jel, próbáldd így

    function Save() {
    var from = FromField.getValue()*1;
    var to = ToField.getValue()*1;
    if( from - 1 >= 0 && from - 1 <= maxPage && to - 1 <= maxPage && to - 1 >= 0 && from+0 <= to+0 ){
    var from1 = from - 1;
    var to1 = to - 1;
    var SaveUrl = pdfDir+pdfFileName+"/slice?pg="+from1+"&to="+to1+"&hideui=0";
    FromField.setValue("");
    ToField.setValue("");
    saveWindow.hide();
    window.open(SaveUrl);
    } else {
    alert("Invalid pages");
    if( from - 1 > maxPage )
    FromField.setValue(maxPage+'');
    if( from - 1 < 0 )
    FromField.setValue('1');
    if( to - 1 > maxPage )
    ToField.setValue(maxPage+'');
    if( to - 1 < 0 )
    ToField.setValue('1');
    if( from*1 > to*1 )
    ToField.setValue( from );
    }
    }

  • Csedit
    aktív tag

    Próbáldd ki azt, hogy a kommentezett részt kitörlöd

    if( from - 1 >= 0 && from - 1 <= maxPage && to - 1 <= maxPage && to - 1 >= 0 && from+0 <= to+0 )
    {

    if( to - from >= 20 )
    {
    alert("Max 20 pages");
    }
    else
    {

    var from1 = from - 1;
    var to1 = to - 1;

    üdv

    Nem jó, hibaüzenettel elszáll.
    Viszont, ha a 20-at kisebbre írom, akkor csak annyi oldalt enged letölteni.

  • Jim-Y
    veterán

    Sziasztok!

    Egy nagyon rövidke JavaScript rutin javításában kérnék segítséget.

    Pdf néző prorgam mentés része le van korlátozva 20 oldalra. Ezt a korlátot kellene valahogy fentebb tornászni.
    Itt a script.
    Hiába javítom ki a 20-at többre az nem segít.

    function Save() {
    var from = FromField.getValue()*1;
    var to = ToField.getValue()*1;
    if( from - 1 >= 0 && from - 1 <= maxPage && to - 1 <= maxPage && to - 1 >= 0 && from+0 <= to+0 )
    {
    if( to - from >= 20 )
    {
    alert("Max 20 pages");
    }
    else
    {
    var from1 = from - 1;
    var to1 = to - 1;
    var SaveUrl = pdfDir+pdfFileName+"/slice?pg="+from1+"&to="+to1+"&hideui=0";
    FromField.setValue("");
    ToField.setValue("");
    saveWindow.hide();
    window.open(SaveUrl);
    }
    }
    else
    {
    alert("Invalid pages");
    if( from - 1 > maxPage )
    FromField.setValue(maxPage+'');
    if( from - 1 < 0 )
    FromField.setValue('1');
    if( to - 1 > maxPage )
    ToField.setValue(maxPage+'');
    if( to - 1 < 0 )
    ToField.setValue('1');
    if( from*1 > to*1 )
    ToField.setValue( from );
    }
    }

    function hideSaveWindow() {
    FromField.setValue("");
    ToField.setValue("");
    saveWindow.hide();
    }

    Köszönöm.

    Próbáldd ki azt, hogy a kommentezett részt kitörlöd

    if( from - 1 >= 0 && from - 1 <= maxPage && to - 1 <= maxPage && to - 1 >= 0 && from+0 <= to+0 )
    {

    if( to - from >= 20 )
    {
    alert("Max 20 pages");
    }
    else
    {

    var from1 = from - 1;
    var to1 = to - 1;

    üdv

  • Csedit
    aktív tag

    Sziasztok!

    Egy nagyon rövidke JavaScript rutin javításában kérnék segítséget.

    Pdf néző prorgam mentés része le van korlátozva 20 oldalra. Ezt a korlátot kellene valahogy fentebb tornászni.
    Itt a script.
    Hiába javítom ki a 20-at többre az nem segít.

    function Save() {
    var from = FromField.getValue()*1;
    var to = ToField.getValue()*1;
    if( from - 1 >= 0 && from - 1 <= maxPage && to - 1 <= maxPage && to - 1 >= 0 && from+0 <= to+0 )
    {
    if( to - from >= 20 )
    {
    alert("Max 20 pages");
    }
    else
    {
    var from1 = from - 1;
    var to1 = to - 1;
    var SaveUrl = pdfDir+pdfFileName+"/slice?pg="+from1+"&to="+to1+"&hideui=0";
    FromField.setValue("");
    ToField.setValue("");
    saveWindow.hide();
    window.open(SaveUrl);
    }
    }
    else
    {
    alert("Invalid pages");
    if( from - 1 > maxPage )
    FromField.setValue(maxPage+'');
    if( from - 1 < 0 )
    FromField.setValue('1');
    if( to - 1 > maxPage )
    ToField.setValue(maxPage+'');
    if( to - 1 < 0 )
    ToField.setValue('1');
    if( from*1 > to*1 )
    ToField.setValue( from );
    }
    }

    function hideSaveWindow() {
    FromField.setValue("");
    ToField.setValue("");
    saveWindow.hide();
    }

    Köszönöm.

  • trisztan94
    őstag

    Pl, szerintem egy ilyen sokkal átláthatóbb mint a te verziód, csak simán másold ki a tartalmat plaintextként egy html fileba:

    [link]

    Ezzel működik :) Köszönöm szépen a segítséget !

    Nagyon elgondolkoztam a Jquery-n most :)
    Jó éjt :)

  • Jim-Y
    veterán

    Az ajax meg főleg magas nekem :D Igazából egy helyen találtam róla leírást, a www.w3schools.com-on, de ott nem magyarázza el rendesen, vagy legalábbis én nem értem meg, pedig többször is elakartam kezdeni.

    Pl, szerintem egy ilyen sokkal átláthatóbb mint a te verziód, csak simán másold ki a tartalmat plaintextként egy html fileba:

    [link]

  • trisztan94
    őstag

    Meg, már ne is haragudj, de html-beli alap hiányosságok is vannak, nem csoda, hogy nem megy, ha ilyet írsz:

    <input type="text" id="email" value="e-mail - *Nem Publikus" class="elemek" name="email"/><br />

    majd:

    var email1 = document.getElementById("email").innerHTML;

    -----------------------------------------------

    Csinálj egy táblázatot, a user töltse ki, majd a Submit gombbal ajax segítségével küldd el az értékeket a php fájlnak, vagy még submit előtt végezz ellenőrzéseket, vagy azt is csinálhatod, hogy a kód csak küldi az adatokat, és a php dolgozza fel őket, ha valami nem ok, akkor a php jelzi azt a kódnak, a kódban meg mondjuk pirossal bekeretezed ami rosszul lett kitöltve.

    Az ajax meg főleg magas nekem :D Igazából egy helyen találtam róla leírást, a www.w3schools.com-on, de ott nem magyarázza el rendesen, vagy legalábbis én nem értem meg, pedig többször is elakartam kezdeni.

  • trisztan94
    őstag

    Én nem ismerem a tinyboxot, de az egész úgy zavaros ahogy van, szerintem egy kicsit még tanulnod kéne a dolgokat, pl szánj 1-2 napot a jquery-re, és akkor kevésbé zavaros, effektív kódot tudsz majd írni, remélhetőleg :)

    Pl az előbbi is így már értelmesebb lenne.. [link]

    Ez a tinybox. Én imádom, nagyon profin néz ki tőle az oldal :)

    Tudom, még tanulgatnom kéne, de mindent útközbe kell igazából megtanulnom, elvállaltam egy melót átgondolás nélkül, most már nem akarom visszamondani :(

  • Jim-Y
    veterán

    A tinyboxosat megoldottam, nem volt még létrehozva a guest_user.php file :W :W

    A másiknak itt a kódja:

    <?php ?>
    <!doctype html>
    <html lang="hu">
    <head>
    <title>Cím</title>
    <link href='http://fonts.googleapis.com/css?family=Niconne&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
    <link type="text/css" rel="stylesheet" href="../css/soon.css"/>
    </head>
    <body>
    <form method="POST" action="register.php">
    <input type="text" id="name" value="Vezetéknév - *Nem Publikus" class="elemek" name="name" /><br />
    <input type="text" id="surname" value="Keresztnév - *Nem Publikus" class="elemek" name="surname" /><br />
    <input type="text" id="username" value="Felhasználónév" class="elemek" name="user"/><br />
    <div id="wrongemail" style="display: none; border:1 px solid red; background-color:white;">Nem Egyezik a Két e-mail Cím!</div>
    <input type="text" id="email" value="e-mail - *Nem Publikus" class="elemek" name="email"/><br />
    <input type="text" id="email_verify" value="e-mail megerősítése" class="elemek" onkeyup="verifyemail()"/><br />
    <input type="password" id="password" class="elemek" name="password"/><br />
    <input type="password" id="password_verify" class="elemek" onkeyup="verifypassword()"/><br />
    <span>Elolvastam és elfogadom a <a href="../html/agreement.html">felhasználási feltételeket</a></span>
    <input type="checkbox" id="agreement" /><br /><br />
    <input type="submit" class="belepes" value="Regisztráció"/>
    </form>
    <script type="text/javascript">
    function verifypassword()
    {
    var pass1 = document.getElementById("password").innerHTML;
    var pass2 = document.getElementById("password_verify").innerHTML;
    if(pass1 != pass2)
    {
    document.getElementById("wrongpass").style.visibility="visible";
    }
    else
    {
    document.getElementById("goodpass").style.visibility="visible";
    }
    }
    function verifyemail()
    {
    var email1 = document.getElementById("email").innerHTML;
    var email2 = document.getElementById("email_verify").innerHTML;
    if(email1 != email2)
    {
    document.getElementById("wrongemail").style.display="block";
    }
    else
    {
    document.getElementById("goodemail").style.display="block";
    }
    }

    </script>
    </body>
    </html>

    Közben megváltoztattam a visibility-t display-re
    :R :R

    Meg, már ne is haragudj, de html-beli alap hiányosságok is vannak, nem csoda, hogy nem megy, ha ilyet írsz:

    <input type="text" id="email" value="e-mail - *Nem Publikus" class="elemek" name="email"/><br />

    majd:

    var email1 = document.getElementById("email").innerHTML;

    -----------------------------------------------

    Csinálj egy táblázatot, a user töltse ki, majd a Submit gombbal ajax segítségével küldd el az értékeket a php fájlnak, vagy még submit előtt végezz ellenőrzéseket, vagy azt is csinálhatod, hogy a kód csak küldi az adatokat, és a php dolgozza fel őket, ha valami nem ok, akkor a php jelzi azt a kódnak, a kódban meg mondjuk pirossal bekeretezed ami rosszul lett kitöltve.

  • Jim-Y
    veterán

    Így se jó. :( Nem lehet, hogy az a baja, hogy ez az egész register.php egy tinyboxon belül helyezkedik el?

    Én nem ismerem a tinyboxot, de az egész úgy zavaros ahogy van, szerintem egy kicsit még tanulnod kéne a dolgokat, pl szánj 1-2 napot a jquery-re, és akkor kevésbé zavaros, effektív kódot tudsz majd írni, remélhetőleg :)

    Pl az előbbi is így már értelmesebb lenne.. [link]

  • trisztan94
    őstag

    A <script> ... </script> részt a head részbe tedd!

    Így se jó. :( Nem lehet, hogy az a baja, hogy ez az egész register.php egy tinyboxon belül helyezkedik el?

  • Jim-Y
    veterán

    A tinyboxosat megoldottam, nem volt még létrehozva a guest_user.php file :W :W

    A másiknak itt a kódja:

    <?php ?>
    <!doctype html>
    <html lang="hu">
    <head>
    <title>Cím</title>
    <link href='http://fonts.googleapis.com/css?family=Niconne&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
    <link type="text/css" rel="stylesheet" href="../css/soon.css"/>
    </head>
    <body>
    <form method="POST" action="register.php">
    <input type="text" id="name" value="Vezetéknév - *Nem Publikus" class="elemek" name="name" /><br />
    <input type="text" id="surname" value="Keresztnév - *Nem Publikus" class="elemek" name="surname" /><br />
    <input type="text" id="username" value="Felhasználónév" class="elemek" name="user"/><br />
    <div id="wrongemail" style="display: none; border:1 px solid red; background-color:white;">Nem Egyezik a Két e-mail Cím!</div>
    <input type="text" id="email" value="e-mail - *Nem Publikus" class="elemek" name="email"/><br />
    <input type="text" id="email_verify" value="e-mail megerősítése" class="elemek" onkeyup="verifyemail()"/><br />
    <input type="password" id="password" class="elemek" name="password"/><br />
    <input type="password" id="password_verify" class="elemek" onkeyup="verifypassword()"/><br />
    <span>Elolvastam és elfogadom a <a href="../html/agreement.html">felhasználási feltételeket</a></span>
    <input type="checkbox" id="agreement" /><br /><br />
    <input type="submit" class="belepes" value="Regisztráció"/>
    </form>
    <script type="text/javascript">
    function verifypassword()
    {
    var pass1 = document.getElementById("password").innerHTML;
    var pass2 = document.getElementById("password_verify").innerHTML;
    if(pass1 != pass2)
    {
    document.getElementById("wrongpass").style.visibility="visible";
    }
    else
    {
    document.getElementById("goodpass").style.visibility="visible";
    }
    }
    function verifyemail()
    {
    var email1 = document.getElementById("email").innerHTML;
    var email2 = document.getElementById("email_verify").innerHTML;
    if(email1 != email2)
    {
    document.getElementById("wrongemail").style.display="block";
    }
    else
    {
    document.getElementById("goodemail").style.display="block";
    }
    }

    </script>
    </body>
    </html>

    Közben megváltoztattam a visibility-t display-re
    :R :R

    A <script> ... </script> részt a head részbe tedd!

  • trisztan94
    őstag

    Nem tudsz kicsit többet mutatni a kódból? mert amennyit megadtál, abból elég nehéz rájönni a hibára.

    "Szintén semmi változás" a hiba az ön készülékében, vagy legalábbis az egyéb kódjaiban van, ugyanis amit linkeltem az működik -> [link]

    A tinyboxosat megoldottam, nem volt még létrehozva a guest_user.php file :W :W

    A másiknak itt a kódja:

    <?php ?>
    <!doctype html>
    <html lang="hu">
    <head>
    <title>Cím</title>
    <link href='http://fonts.googleapis.com/css?family=Niconne&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
    <link type="text/css" rel="stylesheet" href="../css/soon.css"/>
    </head>
    <body>
    <form method="POST" action="register.php">
    <input type="text" id="name" value="Vezetéknév - *Nem Publikus" class="elemek" name="name" /><br />
    <input type="text" id="surname" value="Keresztnév - *Nem Publikus" class="elemek" name="surname" /><br />
    <input type="text" id="username" value="Felhasználónév" class="elemek" name="user"/><br />
    <div id="wrongemail" style="display: none; border:1 px solid red; background-color:white;">Nem Egyezik a Két e-mail Cím!</div>
    <input type="text" id="email" value="e-mail - *Nem Publikus" class="elemek" name="email"/><br />
    <input type="text" id="email_verify" value="e-mail megerősítése" class="elemek" onkeyup="verifyemail()"/><br />
    <input type="password" id="password" class="elemek" name="password"/><br />
    <input type="password" id="password_verify" class="elemek" onkeyup="verifypassword()"/><br />
    <span>Elolvastam és elfogadom a <a href="../html/agreement.html">felhasználási feltételeket</a></span>
    <input type="checkbox" id="agreement" /><br /><br />
    <input type="submit" class="belepes" value="Regisztráció"/>
    </form>
    <script type="text/javascript">
    function verifypassword()
    {
    var pass1 = document.getElementById("password").innerHTML;
    var pass2 = document.getElementById("password_verify").innerHTML;
    if(pass1 != pass2)
    {
    document.getElementById("wrongpass").style.visibility="visible";
    }
    else
    {
    document.getElementById("goodpass").style.visibility="visible";
    }
    }
    function verifyemail()
    {
    var email1 = document.getElementById("email").innerHTML;
    var email2 = document.getElementById("email_verify").innerHTML;
    if(email1 != email2)
    {
    document.getElementById("wrongemail").style.display="block";
    }
    else
    {
    document.getElementById("goodemail").style.display="block";
    }
    }

    </script>
    </body>
    </html>

    Közben megváltoztattam a visibility-t display-re
    :R :R

  • Jim-Y
    veterán

    Azt is csináltam, nem jó :(
    Hát ugye, rámegy a nevére, kidobja az adatlapját, mennyi kredite van stb, ha vendég fiókkal van bejelentkezve akkor meg azt írja, hogy itt lenne ez meg az.

    edit:
    Végülis annyi változást láttam, hogy az oldal scrollbarja kisebbedik, de nincs tartalom.

    edit 2:
    onkeyup="javascript:verifyemail();" ---> onkeyup="verifyemail()"

    Szintén semmi változás.

    Nem tudsz kicsit többet mutatni a kódból? mert amennyit megadtál, abból elég nehéz rájönni a hibára.

    "Szintén semmi változás" a hiba az ön készülékében, vagy legalábbis az egyéb kódjaiban van, ugyanis amit linkeltem az működik -> [link]

  • trisztan94
    őstag

    Talán ki kéne cserélned az else ágat erre:

    if (document.getElementById("adatlap").innerHTML != "Vendég")
    {
    T$('adatlap').onclick = function(){TINY.box.show('../php/user.php',1,500,400,1)}
    }
    else if(document.getElementById("adatlap").innerHTML == "Vendég")
    {
    T$('adatlap').onclick = function(){TINY.box.show('../php/guest_user.php',1,500,400,1)}
    }
    else { ... }

    Amúgy nem tudom, hogy mit akarsz csinálni, de amondó vagyok, hogy egyszerűbben is meg lehetne :)
    -------------

    onkeyup="javascript:verifyemail();" ---> onkeyup="verifyemail()"

    Azt is csináltam, nem jó :(
    Hát ugye, rámegy a nevére, kidobja az adatlapját, mennyi kredite van stb, ha vendég fiókkal van bejelentkezve akkor meg azt írja, hogy itt lenne ez meg az.

    edit:
    Végülis annyi változást láttam, hogy az oldal scrollbarja kisebbedik, de nincs tartalom.

    edit 2:
    onkeyup="javascript:verifyemail();" ---> onkeyup="verifyemail()"

    Szintén semmi változás.

  • Jim-Y
    veterán

    Na, meg van egy másik problémám is, tinyboxxal.

    if (document.getElementById("adatlap").innerHTML != "Vendég")
    {
    T$('adatlap').onclick = function(){TINY.box.show('../php/user.php',1,500,400,1)}
    }
    else
    {
    T$('adatlap').onclick = function(){TINY.box.show('../php/guest_user.php',1,500,400,1)}
    }

    Ugye, ha rendesen bejelentkezünk, akkor ottvan a felhasználónév, rákattintasz, bejön rendesen a tinybox. Ezzel semmi probléma nincs. Az else ággal van az, hogy ha Vendég van odaírva, tehát vendég fiókkal léptél be, akkor meg nem csinál semmit. :D

    Gyűlölöm a PHP-t, de az legalább működik :DD :DD

    :R

    Talán ki kéne cserélned az else ágat erre:

    if (document.getElementById("adatlap").innerHTML != "Vendég")
    {
    T$('adatlap').onclick = function(){TINY.box.show('../php/user.php',1,500,400,1)}
    }
    else if(document.getElementById("adatlap").innerHTML == "Vendég")
    {
    T$('adatlap').onclick = function(){TINY.box.show('../php/guest_user.php',1,500,400,1)}
    }
    else { ... }

    Amúgy nem tudom, hogy mit akarsz csinálni, de amondó vagyok, hogy egyszerűbben is meg lehetne :)
    -------------

    onkeyup="javascript:verifyemail();" ---> onkeyup="verifyemail()"

  • trisztan94
    őstag

    Jah igen azért nem jó, mert nem csak azt a hibát találtam benne, hanem mást is, csak azt elfelejtettem leírni :D

    A jquery-s példa: [link]
    A te példád [link] [link]

    És mi a hiba? :D

    Majd valamelyik héten betanulom a Jquery-t, tény hogy egyszerűbb és jobb :)

  • trisztan94
    őstag

    Na, meg van egy másik problémám is, tinyboxxal.

    if (document.getElementById("adatlap").innerHTML != "Vendég")
    {
    T$('adatlap').onclick = function(){TINY.box.show('../php/user.php',1,500,400,1)}
    }
    else
    {
    T$('adatlap').onclick = function(){TINY.box.show('../php/guest_user.php',1,500,400,1)}
    }

    Ugye, ha rendesen bejelentkezünk, akkor ottvan a felhasználónév, rákattintasz, bejön rendesen a tinybox. Ezzel semmi probléma nincs. Az else ággal van az, hogy ha Vendég van odaírva, tehát vendég fiókkal léptél be, akkor meg nem csinál semmit. :D

    Gyűlölöm a PHP-t, de az legalább működik :DD :DD

    :R

  • Jim-Y
    veterán

    így se jó :(

    A Jquery-n már énis gondolkoztam, csak mivel gyűlölöm a PHP-t, láttam, hogy az is tele van dollár jelekkel, így bele sem kezdtem :)

    Jah igen azért nem jó, mert nem csak azt a hibát találtam benne, hanem mást is, csak azt elfelejtettem leírni :D

    A jquery-s példa: [link]
    A te példád [link] [link]

  • trisztan94
    őstag

    A Javascript case sensitive nyelv, így a Value != value -val. üdv

    Egyébként, erősen javaslom, hogy tanuld meg a jquery használatát, mindjárt feldobom ugyanezt csak jquery-vel.

    így se jó :(

    A Jquery-n már énis gondolkoztam, csak mivel gyűlölöm a PHP-t, láttam, hogy az is tele van dollár jelekkel, így bele sem kezdtem :)

  • Jim-Y
    veterán

    Sziasztok!
    Egy egyszerű probléma lenne, mégsem tudok rájönni mi a baj :(

    html:
    <div id="wrongemail" style="visibility: hidden; border:1 px solid red; background-color:white;">Nem Egyezik a Két e-mail Cím!</div>
    <input type="text" id="email" value="e-mail - *Nem Publikus" class="elemek" name="email"/><br />
    <input type="text" id="email_verify" value="e-mail megerősítése" class="elemek" onkeyup="javascript:verifyemail();"/><br />

    javascript:

    function verifyemail()
    {
    var email1 = document.getElementById("email");
    var email2 = document.getElementById("email_verify");
    if(email1.Value != email2.Value)
    {
    document.getElementById("wrongemail").style.visibility="visible";
    }
    else
    {
    document.getElementById("goodemail").style.visibility="visible";
    }
    }

    :R :R :R

    A Javascript case sensitive nyelv, így a Value != value -val. üdv

    Egyébként, erősen javaslom, hogy tanuld meg a jquery használatát, mindjárt feldobom ugyanezt csak jquery-vel.

  • trisztan94
    őstag

    Sziasztok!
    Egy egyszerű probléma lenne, mégsem tudok rájönni mi a baj :(

    html:
    <div id="wrongemail" style="visibility: hidden; border:1 px solid red; background-color:white;">Nem Egyezik a Két e-mail Cím!</div>
    <input type="text" id="email" value="e-mail - *Nem Publikus" class="elemek" name="email"/><br />
    <input type="text" id="email_verify" value="e-mail megerősítése" class="elemek" onkeyup="javascript:verifyemail();"/><br />

    javascript:

    function verifyemail()
    {
    var email1 = document.getElementById("email");
    var email2 = document.getElementById("email_verify");
    if(email1.Value != email2.Value)
    {
    document.getElementById("wrongemail").style.visibility="visible";
    }
    else
    {
    document.getElementById("goodemail").style.visibility="visible";
    }
    }

    :R :R :R

  • trisztan94
    őstag

    Itt is vannak egyediek, választhatnál hasonlót:
    Google Web Fonts

    Könnyű beüzemelni is.

    Köszönöm szépen, találtam egy jót. Örök hálám üldözni fog! :R :R :R :R :R

    Üdv,
    Trisztán

  • Sk8erPeter
    nagyúr

    Hát az a baj, hogy igaából csak ezzel néz ki jól az oldal :( valami ötlet hogy lehetne megoldani?
    :R

    Itt is vannak egyediek, választhatnál hasonlót:
    Google Web Fonts

    Könnyű beüzemelni is.

  • trisztan94
    őstag

    CSS 3 felé indulj, de egyébként legtöbbször nem szerencsés, tök ismeretlen betűtípussal zúzni, érdemesebb olyanokra építeni, ami jó eséllyel megvan mindenkinél, vagy legyen egy használható backup megoldás (egyszerre több font-family-t is használhatsz valamire).

    Hát az a baj, hogy igaából csak ezzel néz ki jól az oldal :( valami ötlet hogy lehetne megoldani?
    :R

  • Peter Kiss
    őstag

    Sziasztok!
    Olyat lehet csinálni, hogy js sütibe letölt egy betűtípust a felhasználó gépére? :D Én Brush Script Std-vel csináltam az egész oldalt, meglepetésemre windows alatt times new romannal üdvözölt..

    Köszi

    :R :R :R

    CSS 3 felé indulj, de egyébként legtöbbször nem szerencsés, tök ismeretlen betűtípussal zúzni, érdemesebb olyanokra építeni, ami jó eséllyel megvan mindenkinél, vagy legyen egy használható backup megoldás (egyszerre több font-family-t is használhatsz valamire).

  • trisztan94
    őstag

    Sziasztok!
    Olyat lehet csinálni, hogy js sütibe letölt egy betűtípust a felhasználó gépére? :D Én Brush Script Std-vel csináltam az egész oldalt, meglepetésemre windows alatt times new romannal üdvözölt..

    Köszi

    :R :R :R

  • papa019
    senior tag

    Sziasztok!

    Most kezdtem el folytatni a félév közben félbehagyott munkám a google maps api + jquery kombóval.
    Van egy olyan hiba az alkalmazásban, hogy amikor elmentek egy poligont, akkor ugye eltűnik a jqueryben felugró form, viszont a következő polygon mentésénél azt kétszer adja hozzá az adatbázishoz, a harmadikat háromszor, és így tovább...

    Ezt mi okozhatja, nem tudom mire kellene clear-t hívni, vagy mit kéne törölni.
    Itt ki tudjátok próbálni az oldalt.
    A js fájl ez.

    Sorry a double postért, megtaláltam a megoldást.
    A function_dialogbox-on belül a Mentés! résznél a submit sor helyett bemásoltam a submit függvény tartalmát.

  • papa019
    senior tag

    Sziasztok!

    Most kezdtem el folytatni a félév közben félbehagyott munkám a google maps api + jquery kombóval.
    Van egy olyan hiba az alkalmazásban, hogy amikor elmentek egy poligont, akkor ugye eltűnik a jqueryben felugró form, viszont a következő polygon mentésénél azt kétszer adja hozzá az adatbázishoz, a harmadikat háromszor, és így tovább...

    Ezt mi okozhatja, nem tudom mire kellene clear-t hívni, vagy mit kéne törölni.
    Itt ki tudjátok próbálni az oldalt.
    A js fájl ez.

  • Moyko
    csendes tag

    Üdv.

    a következő kérdésem lenne :

    szeretnék egy Slideshow-t ami kicsit kacifántos, de nem találtam sehol.

    - randomizált sorrend
    - fade - out
    - És a lényeg : egyszerű könyvtárba bemásolós "update" módszer. Adva egy pic könyvtár ahol a képek gyűlnek folyamatosan a feltöltő által. A Ss pedig abból válogat.
    előre is köszönöm a segítséget

  • Sk8erPeter
    nagyúr

    Köszi, akkor ha jól sejtem ebbe a dialog form-ba kell bele tenni az email küldő űrlapot ugye? És akkor össze kell hozni, hogy az e-mail címekre kattintva felugorjon a dialog ablak.

    Remélem sikerül.:)

    Jaja, jól értelmezted. Ha elakadtál, kérdezz itt nyugodtan.

  • SzlobiG
    félisten

    Köszi, akkor ha jól sejtem ebbe a dialog form-ba kell bele tenni az email küldő űrlapot ugye? És akkor össze kell hozni, hogy az e-mail címekre kattintva felugorjon a dialog ablak.

    Remélem sikerül.:)

  • Sk8erPeter
    nagyúr

    Üdv!

    Segítség kéne nekem e-mail küldéssel kapcsolatba. Ezen az oldalon úgy kéne megoldani, hogyha a látogató rákattint az adott e-mail címre akkor bejöjjön egy felugróablakba az e-mail küldő űrlap.

    Pl: Úgy mint itt a szövegre kattintva. Ez ugye jqueryvel van csinálva.

    Sima űrlapos módszer működik, csak nekem így kéne megcsinálni ahogy leírtam.

    Előre is köszi. :)

  • SzlobiG
    félisten

    Üdv!

    Segítség kéne nekem e-mail küldéssel kapcsolatba. Ezen az oldalon úgy kéne megoldani, hogyha a látogató rákattint az adott e-mail címre akkor bejöjjön egy felugróablakba az e-mail küldő űrlap.

    Pl: Úgy mint itt a szövegre kattintva. Ez ugye jqueryvel van csinálva.

    Sima űrlapos módszer működik, csak nekem így kéne megcsinálni ahogy leírtam.

    Előre is köszi. :)

    Rossz link a 2. ez a helyes. :B

  • SzlobiG
    félisten

    Üdv!

    Segítség kéne nekem e-mail küldéssel kapcsolatba. Ezen az oldalon úgy kéne megoldani, hogyha a látogató rákattint az adott e-mail címre akkor bejöjjön egy felugróablakba az e-mail küldő űrlap.

    Pl: Úgy mint itt a szövegre kattintva. Ez ugye jqueryvel van csinálva.

    Sima űrlapos módszer működik, csak nekem így kéne megcsinálni ahogy leírtam.

    Előre is köszi. :)

  • Sk8erPeter
    nagyúr

    Köszi a tesztelést! :R

    Szerintem publikálhatod a cuccost, én meglesném valamikor :)

    nincs mit!
    Most még a kis extensiont kiegészítem azzal, hogy megmutatja a letiltott kiegészítőket is, és kattintásra azt is lehet engedélyezni. Így még lesz is valami értelme. :D Ergo így a kis ikonjára kattintva tudod engedélyezni/letiltani az extensiont, meg elindítani egy alkalmazást (lásd pl. ilyen alkalmazás az Angry Birds :D), meg keresgélni is lehet köztük a kis mezővel.
    Csak nem nagyon van időm, de majd ha kész, szólok. Nem olyan nagy szám amúgy, de mondjuk hasznos lehet, legalább csak amiatt, hogy hogyan lehet hozzáférni ehhez a részhez (chrome.management).

  • Sk8erPeter
    nagyúr

    Hat valami olyasmit szeretnek elerni hogy ha ramegyek egy menupontra,akkor legyen benne az url-be a menupontnak a neve valamilyen formaba,es ujratoltesnel,ugyen ezt a div-et hozza be,szoval tulajdonkepp ha beirjak pl hogy www.olda.hu/galery akkor a galery.php-nak a tartalmat toltse be a div-be.

    fordfairlane-nek nem reagáltál, pedig ő leírta az egész lényegét.
    Ha nem akarsz újratöltést, akkor változtasd a hashmark utáni részt.
    Ajánlom a jQuery hashchange event plugint.

  • [pod]Diablo
    őstag

    Szia!

    Ha meg is lehet oldani, biztosan ezt szeretnéd? Ha jól értem, gyakorlatilag ugyanazon az oldalon maradnál, és egy nem létező url-t adnál meg. De ha ez van, akkor ha a user újratöltené az oldalt (enterrel legalábbis), hibát kap, mivel nem létezik a címsorban levő cím. A kedvencek közé rakásnál pedig megint csak ugyanez a macera van.
    Ha nem jól értettem a kérdést, akkor elnézést :B

    Hat valami olyasmit szeretnek elerni hogy ha ramegyek egy menupontra,akkor legyen benne az url-be a menupontnak a neve valamilyen formaba,es ujratoltesnel,ugyen ezt a div-et hozza be,szoval tulajdonkepp ha beirjak pl hogy www.olda.hu/galery akkor a galery.php-nak a tartalmat toltse be a div-be.

  • fordfairlane
    veterán

    Udv!

    Egy olyan kerdesem lenne hogy hogy tudnam megvaltoztatni a bongeszo url-jet az oldal ujratoltese nelkul?Eloszor .load()-al beoltom egy fajl a tartalmat egy div-be,majd mikor rakattintok az egyik menuelemre, .show()-al elohozom a div-et,es tulajdonkepp azt akarnam elerni hogy mikor elohozom a div-et valtozzon meg az url pl http://www.oldalneve.hu/-rol http://www.oldalneve.hu/menuneve/-re.Remelem jo helyen tettem fel kerdes,es valammenyire erthetoen fogalmaztam.

    Elore is koszonom a segitseget!

    Egy olyan kerdesem lenne hogy hogy tudnam megvaltoztatni a bongeszo url-jet az oldal ujratoltese nelkul?

    Tudomásom szerint csak az url fragment részét tudod megváltoztatni anélkül, hogy a böngésző újratöltse az oldalt.

    Erről a részről van szó:

    domain.com/action?param=value#resource

  • Balázs1986
    őstag

    Udv!

    Egy olyan kerdesem lenne hogy hogy tudnam megvaltoztatni a bongeszo url-jet az oldal ujratoltese nelkul?Eloszor .load()-al beoltom egy fajl a tartalmat egy div-be,majd mikor rakattintok az egyik menuelemre, .show()-al elohozom a div-et,es tulajdonkepp azt akarnam elerni hogy mikor elohozom a div-et valtozzon meg az url pl http://www.oldalneve.hu/-rol http://www.oldalneve.hu/menuneve/-re.Remelem jo helyen tettem fel kerdes,es valammenyire erthetoen fogalmaztam.

    Elore is koszonom a segitseget!

    Szia!

    Ha meg is lehet oldani, biztosan ezt szeretnéd? Ha jól értem, gyakorlatilag ugyanazon az oldalon maradnál, és egy nem létező url-t adnál meg. De ha ez van, akkor ha a user újratöltené az oldalt (enterrel legalábbis), hibát kap, mivel nem létezik a címsorban levő cím. A kedvencek közé rakásnál pedig megint csak ugyanez a macera van.
    Ha nem jól értettem a kérdést, akkor elnézést :B

  • [pod]Diablo
    őstag

    Udv!

    Egy olyan kerdesem lenne hogy hogy tudnam megvaltoztatni a bongeszo url-jet az oldal ujratoltese nelkul?Eloszor .load()-al beoltom egy fajl a tartalmat egy div-be,majd mikor rakattintok az egyik menuelemre, .show()-al elohozom a div-et,es tulajdonkepp azt akarnam elerni hogy mikor elohozom a div-et valtozzon meg az url pl http://www.oldalneve.hu/-rol http://www.oldalneve.hu/menuneve/-re.Remelem jo helyen tettem fel kerdes,es valammenyire erthetoen fogalmaztam.

    Elore is koszonom a segitseget!

  • spammer
    veterán

    Na, kipróbáltam, használtam a chrome.management API-t, és bár hozzá lehet nyúlni az extensionökhöz úgy, hogy ezen a kiegészítőn keresztül letiltod, de a default ikont sajnos nem lehet megváltoztatni.
    Viszont egyébként tök jól ki lehet listázni az összes extensiont, applicationt is (ami a default új lapon látszik, ha jobbra lapoztok), keresgélni lehet köztük, stb., szóval ez egész hasznos.
    A példaoldalon található App Launcher extensiont továbbfejlesztettem egy kicsit, és így különválasztva ki lehet listázni ezeket, meg lehet keresgélni, és ha az extensionre kattintasz, akkor feljön egy confirm ablak, hogy valóban le akarod-e tiltani az adott extensiont, ha leokézod, akkor le is tiltja. Így tehát a popup ablakban is meg lehet csinálni ezeket a műveleteket.
    Ha gondoljátok, és érdekel Titeket ez az extension, akkor megosztom, szóljatok, ha kő'. :D

    Egy szó, mint száz: sajnos a jogos gyanú beigazolódott, hogy extension ikonját megváltoztatni valóban csak egymásnak történő üzenetküldözgetésekkel lehet. :K
    Gondolom így akarták elkerülni, hogy az extensionök túlságosan bele tudjanak kotorni egymás dolgaiba.

    Köszi a tesztelést! :R

    Szerintem publikálhatod a cuccost, én meglesném valamikor :)

  • Sk8erPeter
    nagyúr

    Kiegészítővel biztos nem lehet...mivel egyik kiegészítő a másikba csak úgy nem írhat..

    Na, kipróbáltam, használtam a chrome.management API-t, és bár hozzá lehet nyúlni az extensionökhöz úgy, hogy ezen a kiegészítőn keresztül letiltod, de a default ikont sajnos nem lehet megváltoztatni.
    Viszont egyébként tök jól ki lehet listázni az összes extensiont, applicationt is (ami a default új lapon látszik, ha jobbra lapoztok), keresgélni lehet köztük, stb., szóval ez egész hasznos.
    A példaoldalon található App Launcher extensiont továbbfejlesztettem egy kicsit, és így különválasztva ki lehet listázni ezeket, meg lehet keresgélni, és ha az extensionre kattintasz, akkor feljön egy confirm ablak, hogy valóban le akarod-e tiltani az adott extensiont, ha leokézod, akkor le is tiltja. Így tehát a popup ablakban is meg lehet csinálni ezeket a műveleteket.
    Ha gondoljátok, és érdekel Titeket ez az extension, akkor megosztom, szóljatok, ha kő'. :D

    Egy szó, mint száz: sajnos a jogos gyanú beigazolódott, hogy extension ikonját megváltoztatni valóban csak egymásnak történő üzenetküldözgetésekkel lehet. :K
    Gondolom így akarták elkerülni, hogy az extensionök túlságosan bele tudjanak kotorni egymás dolgaiba.

  • Jim-Y
    veterán

    Bizony, frissítésnél felül fogja írni. Ezt elkerülendő lett volna jó a userscript (esetleg extension) megoldás. :)

    Persze ez is egy megoldás, meg a kézi ikoncsere is, csak nálam ott a kíváncsiság, hogy esetleg scripttel vagy extension-nel megoldható-e. Tehát hogy a probléma megoldható-e ily módon. Mert ha igen, akkor lehetne egy hasznos extension-t (vagy scriptet) írni Chrome-ra, mert ilyen még nincs.

    Kiegészítővel biztos nem lehet...mivel egyik kiegészítő a másikba csak úgy nem írhat..

  • spammer
    veterán

    [link]

    Az ikont innen szedtem -> http://www.objektivek.com/images/favicons/prohardver.hu.png

    Mivel kitömörítve tárolja a kiegészítőt a chrome, így bele tudtam írni :) Ezzel ugye az a gond, hogy nem tudom, hogy frissítésnél visszaáll-e, vagy sem, egyébként ennyit írtam a kódba:

    chrome.browserAction.setIcon({path: "http://www.objektivek.com/images/favicons/prohardver.hu.png"});

    Bizony, frissítésnél felül fogja írni. Ezt elkerülendő lett volna jó a userscript (esetleg extension) megoldás. :)

    Persze ez is egy megoldás, meg a kézi ikoncsere is, csak nálam ott a kíváncsiság, hogy esetleg scripttel vagy extension-nel megoldható-e. Tehát hogy a probléma megoldható-e ily módon. Mert ha igen, akkor lehetne egy hasznos extension-t (vagy scriptet) írni Chrome-ra, mert ilyen még nincs.

  • Jim-Y
    veterán

    Ha annyira profi lennék, akkor biztos írnék egy extension-t, de nem vagyok az :) Bár lehet, hogy extension-nel sem működne ez a dolog.

    "Firefoxhoz nem készítettem még extensiont, de egyébként Te magad írtad, hogy ott is csak egy másik kiegészítő segítségével lehet felülbírálni a többi kiegészítő kinézetét. Mivel a Stylish is egy kiegészítő."

    Igen, de a FF teljesen másképp épül fel, mint a Chrome, vagy nem is tudom, hogyan fogalmazzak :) Ott van egy alap motor, de a felület tulajdonságai CSS-sel formázhatók, és a Stylish kiegben gyakorlatilag CSS-ek tárolódnak, így CSS-sel formázható a FF felülete (így a kiegek dolgai is akár). Na ez Chrome-nál nem így van. Ezért gondoltam az Userscript megoldásra, hogy hátha az majd működik, de ebben a formában nem úgy tűnik.

    Egészen konkrétan most a Bookmarks Menu ikonját akartam lecserélni, mert nem tetszik a sárga csillag :D De akármelyik más kiegről lehetne szó, amelyiknek statikus ikonja van, a dinamikus ikonos dolgokkal (pl. időjárásjelentő kieg) nem akarok variálni.

    [link]

    Az ikont innen szedtem -> http://www.objektivek.com/images/favicons/prohardver.hu.png

    Mivel kitömörítve tárolja a kiegészítőt a chrome, így bele tudtam írni :) Ezzel ugye az a gond, hogy nem tudom, hogy frissítésnél visszaáll-e, vagy sem, egyébként ennyit írtam a kódba:

    chrome.browserAction.setIcon({path: "http://www.objektivek.com/images/favicons/prohardver.hu.png"});

  • spammer
    veterán

    "Igen, saját kiegészítőnél lehet állítgatni mindenfélét"
    Hát azért nem mindenfélét. Vannak szándékosan biztonsági korlátozások.
    Most itt konkrétan az ikoncserére egy kiegészítős megoldást mutattam, userJS-sel teljesen biztos, hogy nem fogod tudni állítani. De annál normálisabb mókolás amúgy is egy saját kiegészítő használata, csak némi JavaScript-tudás kell hozzá. Egyébként Chrome-hoz nagyon jó a kiegészítős API, Operánál pl. kevésbé. Firefoxhoz nem készítettem még extensiont, de egyébként Te magad írtad, hogy ott is csak egy másik kiegészítő segítségével lehet felülbírálni a többi kiegészítő kinézetét. :) Mivel a Stylish is egy kiegészítő.

    "Próbálkoztam egy ilyennel is (ez a kieg elérési útja a böngésző számára):
    // @match chrome-extension://ffmdedmghpoipeldijkdlcckdpempkdi/"

    Ez így ebben a formában teljesen esélytelen. Eleve sokkal normálisabb megoldás az, hogy a felhasználótól engedélyt kell kérni, hogy egyáltalán hozzáférhet-e az a kiegészítő a többi kiegészítő adataihoz.
    De ahogy írod, ezek szerint magához a Firefox-felülethez lehet egy CSS-fájlt készíteni, amivel a megjelenő elemek kinézetét felülbírálod. Na ennek még nem néztem utána, és valszeg nem is fogok, mert ha tehetem, kerülöm a Firefoxot. :DDD

    Amit én belinkeltem, az az extension API-nak az a része, aminek segítségével a többi kiegészítő adataihoz is hozzáférhetsz, de ahhoz saját extensiont kell megírni. Nem biztos, hogy olyan bonyolult, majd lehet, hogy holnap kipróbálom, mire is jó ez, lehet-e így változtatni az ikonokat, mondjuk sanszos, hogy nem.
    Konkrétan milyen extensionöknek szeretnéd megváltoztatni az ikonját? Csak azért kérdezem, mert akkor kiderülne, azok egyáltalán hogyan működnek. Pl. ha kattintasz az extension ikonjára a toolbaron, akkor nem változik az ikonja?

    Ha annyira profi lennék, akkor biztos írnék egy extension-t, de nem vagyok az :) Bár lehet, hogy extension-nel sem működne ez a dolog.

    "Firefoxhoz nem készítettem még extensiont, de egyébként Te magad írtad, hogy ott is csak egy másik kiegészítő segítségével lehet felülbírálni a többi kiegészítő kinézetét. Mivel a Stylish is egy kiegészítő."

    Igen, de a FF teljesen másképp épül fel, mint a Chrome, vagy nem is tudom, hogyan fogalmazzak :) Ott van egy alap motor, de a felület tulajdonságai CSS-sel formázhatók, és a Stylish kiegben gyakorlatilag CSS-ek tárolódnak, így CSS-sel formázható a FF felülete (így a kiegek dolgai is akár). Na ez Chrome-nál nem így van. Ezért gondoltam az Userscript megoldásra, hogy hátha az majd működik, de ebben a formában nem úgy tűnik.

    Egészen konkrétan most a Bookmarks Menu ikonját akartam lecserélni, mert nem tetszik a sárga csillag :D De akármelyik más kiegről lehetne szó, amelyiknek statikus ikonja van, a dinamikus ikonos dolgokkal (pl. időjárásjelentő kieg) nem akarok variálni.

  • Sk8erPeter
    nagyúr

    Megnéztem, de 1: nem is arra reagáltam, 2: ez nem tudom, hogy jön ide, bár akkor lehet nem értem még mindig az alapproblémát, nem azt kéne megvalósítani, hogy ha mondjuk ő letölti a gmailes kiegészítőt webstore-ból, akkor ennek az ikonját kéne online tárhelyen lévő képre változtatni?

    Egy kiegészítőben úgy lehet megváltoztatni az ikont, hogy:
    chrome.browserAction.setIcon(object details)

    de ezt csak magában a kiegészítőben tudod így kiadni, másik módszer az úgynevezett Message Passing amivel a kiegészítőd oldalai között tudsz kommunikálni, illetve esetünkben kiegészítők között is így lehet kommunikálni. Csakhogy ahhoz, hogy utasítást tudjunk kiadni arra, hogy a kiegészítő cserélje le az ikonját, kell a kódba egy ilyesmi sor:
    chrome.extension.onRequestExternal.addListener(
    function(request, sender, sendResponse) {
    if (sender.id == blacklistedExtension)
    return; // don't allow this extension access
    else if(request.changeIcon)
    chrome.browserAction.setIcon(icon);
    sendResponse({targetData: "icon changed"});
    else {
    //dosomething
    }
    });

    A saját kiegészítőből pedig az utasítás így nézne ki:

    // The ID of the extension we want to talk to.
    var laserExtensionId = "abcdefghijklmnoabcdefhijklmnoabc";
    // Make a simple request:
    chrome.extension.sendRequest(laserExtensionId, {changeIcon: true},
    function(response) {
    if (response.targetData == "icon changed")
    //dosomething
    });

    "ez nem tudom, hogy jön ide, bár akkor lehet nem értem még mindig az alapproblémát, nem azt kéne megvalósítani, hogy ha mondjuk ő letölti a gmailes kiegészítőt webstore-ból, akkor ennek az ikonját kéne online tárhelyen lévő képre változtatni?"
    Én meg nem értem, mit nem értesz azon, hogy hogyan jön ide. :D
    Hát épp az extensionökről kapsz adatot a chrome.management-en keresztül, így azok default ikonjáról is. Hogy változtatni is lehet-e ilyen módon, azt nem tudom, mert ez a része elég szegényes a Chrome-doksinak... :(
    Értem én a példádat, és azt is, hogy a jobb megoldás valószínűleg tényleg a két extension közti kommunikáció, de én az adott helyzetre próbáltam kerülő utat találni - a chrome.management-en keresztül elérhető dolgokat nem próbáltam, így ezzel tapasztalatom még nincs. Na, de lehet, hogy holnap rászánom magam, már érdekel. :D

    ===

    (#2636) : "shell scripttel" - vagy Windows esetén egy sima batch-fájllal, amit a gép indítására (vagy bizonyos időközökre) ütemez, azt' kész. Vagy ha frissül egy kiegészítő, akkor azt úgyis látja, és akkor ráküldi a batch-fájlt. :P

  • Sk8erPeter
    nagyúr

    Igen, saját kiegészítőnél lehet állítgatni mindenfélét, csak itt most azt lett volna a lényeg, hogy egy "külső" userscript avatkozzon be abba, hogy milyen ikont olvas be a böngésző az adott kiegészítőhöz. De ahogy utána guglizgattam, lehet, hogy ez így nem is megoldható, ugyanis egy manifest.json nevű fájlban tárolja az ikonok elérési útját, a fájl pedig csak olvasható a böngésző számára elvileg, tehát gondolom egy script sem tudja ezt így felülbírálni...

    Próbálkoztam egy ilyennel is (ez a kieg elérési útja a böngésző számára):

    // @match chrome-extension://ffmdedmghpoipeldijkdlcckdpempkdi/*

    Aztán ez lett volna az új ikont "hívó" script:

    chrome.browserAction.setIcon({path: 'http://imagerz.com/QEAUWUtvAwMHBVhPEQVQ'});

    De ez így nem működik, lehet, hogy tényleg sötétben tapogatózok, mert lehet, hogy a Chrome biztonsági beállításai miatt nem is lehet ilyesmit megcsinálni külső userscript-tel.

    --

    Firefox téma: igen, nagyon sok kiegészítő ikonja simán stylish addonnal cserélhető, illetve szinte minden formázható Firefox-on belül ilyen módon (url bar, gombok, tab háttér és stb.). Biztonsági dolgokhoz ennek nincs köze, a FF kinézete gyakorlatilag CSS-ekkel formázható, van 1 millió userstyle hozzá. :)

    --

    szerk:

    (#2634) Jim-Y: Igen, letöltök egy kieget, azt installálja a Chrome és azok a fájlok (így az ikonja is) a gépemen tárolódnak. Ezt kellene lecserélni egy online tárhelyre feltöltött ikonnal.

    Csak az említett problémák miatt nem hiszem, hogy ez lehetséges.

    "Igen, saját kiegészítőnél lehet állítgatni mindenfélét"
    Hát azért nem mindenfélét. Vannak szándékosan biztonsági korlátozások.
    Most itt konkrétan az ikoncserére egy kiegészítős megoldást mutattam, userJS-sel teljesen biztos, hogy nem fogod tudni állítani. De annál normálisabb mókolás amúgy is egy saját kiegészítő használata, csak némi JavaScript-tudás kell hozzá. Egyébként Chrome-hoz nagyon jó a kiegészítős API, Operánál pl. kevésbé. Firefoxhoz nem készítettem még extensiont, de egyébként Te magad írtad, hogy ott is csak egy másik kiegészítő segítségével lehet felülbírálni a többi kiegészítő kinézetét. :) Mivel a Stylish is egy kiegészítő.

    "Próbálkoztam egy ilyennel is (ez a kieg elérési útja a böngésző számára):
    // @match chrome-extension://ffmdedmghpoipeldijkdlcckdpempkdi/"

    Ez így ebben a formában teljesen esélytelen. Eleve sokkal normálisabb megoldás az, hogy a felhasználótól engedélyt kell kérni, hogy egyáltalán hozzáférhet-e az a kiegészítő a többi kiegészítő adataihoz.
    De ahogy írod, ezek szerint magához a Firefox-felülethez lehet egy CSS-fájlt készíteni, amivel a megjelenő elemek kinézetét felülbírálod. Na ennek még nem néztem utána, és valszeg nem is fogok, mert ha tehetem, kerülöm a Firefoxot. :DDD

    Amit én belinkeltem, az az extension API-nak az a része, aminek segítségével a többi kiegészítő adataihoz is hozzáférhetsz, de ahhoz saját extensiont kell megírni. Nem biztos, hogy olyan bonyolult, majd lehet, hogy holnap kipróbálom, mire is jó ez, lehet-e így változtatni az ikonokat, mondjuk sanszos, hogy nem.
    Konkrétan milyen extensionöknek szeretnéd megváltoztatni az ikonját? Csak azért kérdezem, mert akkor kiderülne, azok egyáltalán hogyan működnek. Pl. ha kattintasz az extension ikonjára a toolbaron, akkor nem változik az ikonja?

  • spammer
    veterán

    Szerintem inkább azt próbáld meg, hogy egy shell scripttel az appdatában lévő ikont cseréled ki az online tárhelyen lévővel, persze ugyanazon a néven, mivel a manifestben azt nem tudod átállítani..

    Oké, nem annyira életbevágóan fontos dolog, csak azt hittem, megoldható userscripttel, mert így azért egyszerűbb lett volna :) Plusz ha ez így működne, akkor ebből kiegészítő is készíthető lett volna akár (talán). Na mindegy, azért köszi a segítséget mindkettőtöknek :R

  • Jim-Y
    veterán

    Igen, saját kiegészítőnél lehet állítgatni mindenfélét, csak itt most azt lett volna a lényeg, hogy egy "külső" userscript avatkozzon be abba, hogy milyen ikont olvas be a böngésző az adott kiegészítőhöz. De ahogy utána guglizgattam, lehet, hogy ez így nem is megoldható, ugyanis egy manifest.json nevű fájlban tárolja az ikonok elérési útját, a fájl pedig csak olvasható a böngésző számára elvileg, tehát gondolom egy script sem tudja ezt így felülbírálni...

    Próbálkoztam egy ilyennel is (ez a kieg elérési útja a böngésző számára):

    // @match chrome-extension://ffmdedmghpoipeldijkdlcckdpempkdi/*

    Aztán ez lett volna az új ikont "hívó" script:

    chrome.browserAction.setIcon({path: 'http://imagerz.com/QEAUWUtvAwMHBVhPEQVQ'});

    De ez így nem működik, lehet, hogy tényleg sötétben tapogatózok, mert lehet, hogy a Chrome biztonsági beállításai miatt nem is lehet ilyesmit megcsinálni külső userscript-tel.

    --

    Firefox téma: igen, nagyon sok kiegészítő ikonja simán stylish addonnal cserélhető, illetve szinte minden formázható Firefox-on belül ilyen módon (url bar, gombok, tab háttér és stb.). Biztonsági dolgokhoz ennek nincs köze, a FF kinézete gyakorlatilag CSS-ekkel formázható, van 1 millió userstyle hozzá. :)

    --

    szerk:

    (#2634) Jim-Y: Igen, letöltök egy kieget, azt installálja a Chrome és azok a fájlok (így az ikonja is) a gépemen tárolódnak. Ezt kellene lecserélni egy online tárhelyre feltöltött ikonnal.

    Csak az említett problémák miatt nem hiszem, hogy ez lehetséges.

    Szerintem inkább azt próbáld meg, hogy egy shell scripttel az appdatában lévő ikont cseréled ki az online tárhelyen lévővel, persze ugyanazon a néven, mivel a manifestben azt nem tudod átállítani..

  • spammer
    veterán

    Ez eléggé függ az extensiontől is, amiről szó van.
    Pl. jópár extension van, ami kattintásra megváltoztatja az ikonját, olyan is van, ami inicializáláskor állít be egy tetszőleges ikont, sőt, olyan is lehet, ami bizonyos időközönként update-eli az ikon kinézetét (most épp nem arra gondolok, ami badge-et tesz rá, mint az elég hasznos Prohardver! Eszközök extension)
    Van is egy sample extension is a kattintós ikonváltoztatásra a Google vonatkozó oldalán: [link]

    Viszont ezzel a modulok default ikonjáról lehet infót kérni:
    chrome.management >>> IconInfo

    Azt nem próbáltam, lehet-e ilyen módon a default ikonokat cserélni...

    =

    "Egyébként a Chrome ilyen szempontból eléggé fapad, mert a Firefox pl. simán userstyle-okkal szarrá moddolható..."
    Hát az nem fapadosság, ha biztonsági okokból nem engednek minden szarhoz hozzáférést... :U
    "userstyle" alatt a user stylesheetet kell érteni? user stylesheettel tudod módosítani egy Firefox-extension ikonját? :F

    Igen, saját kiegészítőnél lehet állítgatni mindenfélét, csak itt most azt lett volna a lényeg, hogy egy "külső" userscript avatkozzon be abba, hogy milyen ikont olvas be a böngésző az adott kiegészítőhöz. De ahogy utána guglizgattam, lehet, hogy ez így nem is megoldható, ugyanis egy manifest.json nevű fájlban tárolja az ikonok elérési útját, a fájl pedig csak olvasható a böngésző számára elvileg, tehát gondolom egy script sem tudja ezt így felülbírálni...

    Próbálkoztam egy ilyennel is (ez a kieg elérési útja a böngésző számára):

    // @match chrome-extension://ffmdedmghpoipeldijkdlcckdpempkdi/*

    Aztán ez lett volna az új ikont "hívó" script:

    chrome.browserAction.setIcon({path: 'http://imagerz.com/QEAUWUtvAwMHBVhPEQVQ'});

    De ez így nem működik, lehet, hogy tényleg sötétben tapogatózok, mert lehet, hogy a Chrome biztonsági beállításai miatt nem is lehet ilyesmit megcsinálni külső userscript-tel.

    --

    Firefox téma: igen, nagyon sok kiegészítő ikonja simán stylish addonnal cserélhető, illetve szinte minden formázható Firefox-on belül ilyen módon (url bar, gombok, tab háttér és stb.). Biztonsági dolgokhoz ennek nincs köze, a FF kinézete gyakorlatilag CSS-ekkel formázható, van 1 millió userstyle hozzá. :)

    --

    szerk:

    (#2634) Jim-Y: Igen, letöltök egy kieget, azt installálja a Chrome és azok a fájlok (így az ikonja is) a gépemen tárolódnak. Ezt kellene lecserélni egy online tárhelyre feltöltött ikonnal.

    Csak az említett problémák miatt nem hiszem, hogy ez lehetséges.

  • Jim-Y
    veterán

    Megnézted egyáltalán, amit linkeltem? :D

    "The chrome.management module provides ways to manage the list of extensions/apps that are installed and running."

    Ilyen módon - amennyiben ebben a kiegészítőben, amit a változtatgatás céljára készítettél, a felhasználótól elkérted és megkaptad az engedélyt - akár még le is tilthatsz kiegészítőket.
    Meg kapsz egyéb infókat is a többi kiegészítőről.
    Az ikont mondjuk nem tudom, meg lehet-e változtatni, lehet, hogy arról csak infót kapsz.

    Az ExtensionInfo objektumon belül:
    icons ( optional array of IconInfo )
    A list of icon information. Note that this just reflects what was declared in the manifest, and the actual image at that url may be larger or smaller than what was declared, so you might consider using explicit width and height attributes on img tags referencing these images. See the manifest documentation on icons for more details.

    Megnéztem, de 1: nem is arra reagáltam, 2: ez nem tudom, hogy jön ide, bár akkor lehet nem értem még mindig az alapproblémát, nem azt kéne megvalósítani, hogy ha mondjuk ő letölti a gmailes kiegészítőt webstore-ból, akkor ennek az ikonját kéne online tárhelyen lévő képre változtatni?

    Egy kiegészítőben úgy lehet megváltoztatni az ikont, hogy:
    chrome.browserAction.setIcon(object details)

    de ezt csak magában a kiegészítőben tudod így kiadni, másik módszer az úgynevezett Message Passing amivel a kiegészítőd oldalai között tudsz kommunikálni, illetve esetünkben kiegészítők között is így lehet kommunikálni. Csakhogy ahhoz, hogy utasítást tudjunk kiadni arra, hogy a kiegészítő cserélje le az ikonját, kell a kódba egy ilyesmi sor:
    chrome.extension.onRequestExternal.addListener(
    function(request, sender, sendResponse) {
    if (sender.id == blacklistedExtension)
    return; // don't allow this extension access
    else if(request.changeIcon)
    chrome.browserAction.setIcon(icon);
    sendResponse({targetData: "icon changed"});
    else {
    //dosomething
    }
    });

    A saját kiegészítőből pedig az utasítás így nézne ki:

    // The ID of the extension we want to talk to.
    var laserExtensionId = "abcdefghijklmnoabcdefhijklmnoabc";
    // Make a simple request:
    chrome.extension.sendRequest(laserExtensionId, {changeIcon: true},
    function(response) {
    if (response.targetData == "icon changed")
    //dosomething
    });

  • Sk8erPeter
    nagyúr

    Rossz oldalon tapogatóztok, mert chrome kiegészítővel csak úgy lehetne megoldani a problémát, ha a kiegészítőben aminek az ikonját meg akarod változtatni felveszel egy listenert, amit a te saját magad által készített kiegészítődből meghívsz. Gondolom ilyenre nincs felkészítve egyik cél kiegészítő sem, tehát ez bukta. A google elég sok biztonsági megkötést tesz az ilyenekre. Persze ha a saját magad által készített kiegészítőt akarod dinamikusan változtatni ily módon, az easy go. De itt nem erről van szó :/

    Megnézted egyáltalán, amit linkeltem? :D

    "The chrome.management module provides ways to manage the list of extensions/apps that are installed and running."

    Ilyen módon - amennyiben ebben a kiegészítőben, amit a változtatgatás céljára készítettél, a felhasználótól elkérted és megkaptad az engedélyt - akár még le is tilthatsz kiegészítőket.
    Meg kapsz egyéb infókat is a többi kiegészítőről.
    Az ikont mondjuk nem tudom, meg lehet-e változtatni, lehet, hogy arról csak infót kapsz.

    Az ExtensionInfo objektumon belül:
    icons ( optional array of IconInfo )
    A list of icon information. Note that this just reflects what was declared in the manifest, and the actual image at that url may be larger or smaller than what was declared, so you might consider using explicit width and height attributes on img tags referencing these images. See the manifest documentation on icons for more details.

  • Jim-Y
    veterán

    Ez eléggé függ az extensiontől is, amiről szó van.
    Pl. jópár extension van, ami kattintásra megváltoztatja az ikonját, olyan is van, ami inicializáláskor állít be egy tetszőleges ikont, sőt, olyan is lehet, ami bizonyos időközönként update-eli az ikon kinézetét (most épp nem arra gondolok, ami badge-et tesz rá, mint az elég hasznos Prohardver! Eszközök extension)
    Van is egy sample extension is a kattintós ikonváltoztatásra a Google vonatkozó oldalán: [link]

    Viszont ezzel a modulok default ikonjáról lehet infót kérni:
    chrome.management >>> IconInfo

    Azt nem próbáltam, lehet-e ilyen módon a default ikonokat cserélni...

    =

    "Egyébként a Chrome ilyen szempontból eléggé fapad, mert a Firefox pl. simán userstyle-okkal szarrá moddolható..."
    Hát az nem fapadosság, ha biztonsági okokból nem engednek minden szarhoz hozzáférést... :U
    "userstyle" alatt a user stylesheetet kell érteni? user stylesheettel tudod módosítani egy Firefox-extension ikonját? :F

    Rossz oldalon tapogatóztok, mert chrome kiegészítővel csak úgy lehetne megoldani a problémát, ha a kiegészítőben aminek az ikonját meg akarod változtatni felveszel egy listenert, amit a te saját magad által készített kiegészítődből meghívsz. Gondolom ilyenre nincs felkészítve egyik cél kiegészítő sem, tehát ez bukta. A google elég sok biztonsági megkötést tesz az ilyenekre. Persze ha a saját magad által készített kiegészítőt akarod dinamikusan változtatni ily módon, az easy go. De itt nem erről van szó :/

  • Sk8erPeter
    nagyúr

    Hát, én annyira nem vágom a Chrome addon témát, de ha te igen, akkor írhatnál rá egy kieget :D Annyit kellene csinálnia, hogy a telepített addonokat beolvassa egy oldalra, megjeleníti a default_icon-jukat és ott meg lehetne adni egy url-t egy textfield mezőbe írva, hogy honnan töltse be az új ikont :) Gondolom seperc alatt megvan egy ilyen :DDD :N

    Egyébként a Chrome ilyen szempontból eléggé fapad, mert a Firefox pl. simán userstyle-okkal szarrá moddolható... De ahogy látom, lehet, hogy a Chrome-nál nem is lehetséges ilyen mértékű beavatkozás, ha csak tényleg nem egy extension van rá írva, ami talán meg tudná ezt csinálni.

    Ez eléggé függ az extensiontől is, amiről szó van.
    Pl. jópár extension van, ami kattintásra megváltoztatja az ikonját, olyan is van, ami inicializáláskor állít be egy tetszőleges ikont, sőt, olyan is lehet, ami bizonyos időközönként update-eli az ikon kinézetét (most épp nem arra gondolok, ami badge-et tesz rá, mint az elég hasznos Prohardver! Eszközök extension)
    Van is egy sample extension is a kattintós ikonváltoztatásra a Google vonatkozó oldalán: [link]

    Viszont ezzel a modulok default ikonjáról lehet infót kérni:
    chrome.management >>> IconInfo

    Azt nem próbáltam, lehet-e ilyen módon a default ikonokat cserélni...

    =

    "Egyébként a Chrome ilyen szempontból eléggé fapad, mert a Firefox pl. simán userstyle-okkal szarrá moddolható..."
    Hát az nem fapadosság, ha biztonsági okokból nem engednek minden szarhoz hozzáférést... :U
    "userstyle" alatt a user stylesheetet kell érteni? user stylesheettel tudod módosítani egy Firefox-extension ikonját? :F

  • spammer
    veterán

    Hát.. csinálhatnál egy kiegészítőt, ami a háttérben futna, és kommunikálna azokkal a kiegészítőkkel amiknek az ikonját le akarod cserélni, csak sajnos ehhez mindkét kiegészítőben mókolni kéne, szóval nem megoldás:/ Szerintem csak az marad, hogy a az appdata-ban cseréled mindig az ikont, max ezt lehetne automatizálni...de ebben valaki más fog segíteni neked úgy érzem, én max a kiegészítőkben tudnék :)

    Hát, én annyira nem vágom a Chrome addon témát, de ha te igen, akkor írhatnál rá egy kieget :D Annyit kellene csinálnia, hogy a telepített addonokat beolvassa egy oldalra, megjeleníti a default_icon-jukat és ott meg lehetne adni egy url-t egy textfield mezőbe írva, hogy honnan töltse be az új ikont :) Gondolom seperc alatt megvan egy ilyen :DDD :N

    Egyébként a Chrome ilyen szempontból eléggé fapad, mert a Firefox pl. simán userstyle-okkal szarrá moddolható... De ahogy látom, lehet, hogy a Chrome-nál nem is lehetséges ilyen mértékű beavatkozás, ha csak tényleg nem egy extension van rá írva, ami talán meg tudná ezt csinálni.

  • Jim-Y
    veterán

    Így van, a kiegészítők ikonjait szeretném lecserélni, nem a "gyári" böngésző ikonokat :) Manuálisan cserélhetők lennének, hogy ha kézzel bemásolom és felülírom a gépen tárolt ikonokat, de így amikor frissül egy kiegészítő, akkor megint csak visszaáll az eredetire, ezért lenne kényelmesebb egy script, ami mindig felülírja egy weben tárolt ikonnal :)

    szerk: webstore-ból telepített kiegek, de ezeket mind kitömörítve tárolja a gépen appdata-n belül (lásd a kódban levő elérési út)

    Hát.. csinálhatnál egy kiegészítőt, ami a háttérben futna, és kommunikálna azokkal a kiegészítőkkel amiknek az ikonját le akarod cserélni, csak sajnos ehhez mindkét kiegészítőben mókolni kéne, szóval nem megoldás:/ Szerintem csak az marad, hogy a az appdata-ban cseréled mindig az ikont, max ezt lehetne automatizálni...de ebben valaki más fog segíteni neked úgy érzem, én max a kiegészítőkben tudnék :)

  • spammer
    veterán

    Szia, nem nagyon értem a kérdést, ugyanis ezeket az ikonokat nem lehet lecserélni tudtommal, csak ezeket.

    Valamint a kiegészítő saját fejlesztés, vagy valamit letöltöttél?

    Így van, a kiegészítők ikonjait szeretném lecserélni, nem a "gyári" böngésző ikonokat :) Manuálisan cserélhetők lennének, hogy ha kézzel bemásolom és felülírom a gépen tárolt ikonokat, de így amikor frissül egy kiegészítő, akkor megint csak visszaáll az eredetire, ezért lenne kényelmesebb egy script, ami mindig felülírja egy weben tárolt ikonnal :)

    szerk: webstore-ból telepített kiegek, de ezeket mind kitömörítve tárolja a gépen appdata-n belül (lásd a kódban levő elérési út)

  • Jim-Y
    veterán

    Üdv! Nem tudom ez a megfelelő topik-e, de gondolom inkább ide illik:

    Google Chrome böngésző eszköztárában lévő ikont szeretnék lecserélni sajátra. A bővítmény ikonja a gépen van tárolva az "Appdata" könyvtáron belül.....

    A lényeg:

    Ezt az a gépen tárolt ikont szeretném lecserélni egy weben tárolt ikonra egy script segítségével (userscriptként futna a Tampermonkey nevű kiegészítővel).

    Viszont nem értek igazán a javascripthez, egy ilyen scriptet találtam, ami a weben levő képeket cseréli szépen (az működött is), de hiába írtam át az elérési utakat, nem működött, mert ez a script egy dokumentumot vizsgál és azon belül cseréli le a képet, nálam viszont ugye magáról a böngészőről van szó és egy saját gépen tárolt ikonról weben tároltra cseréléséről.

    var ilist = document.images;
    for(var i = 0; i < ilist.length; i++) {
    if(ilist[I].src == "%LOCALAPPDATA%/Google/Chrome/User%20Data/Default/Extensions/extensionid/icons/icon-24.png") {
    ilist(i).src = "http://valami.com/icon.png";
    }
    }

    A %LOCALAPPDATA% csak egy rövidítés, először teljes,részletes eléri úttal próbáltam.

    Tud valaki segíteni, hogy hogyan kellene módosítani ezt a scriptet, vagy hogyan nézne ki egy olyan, ami működne is? Nem tudom, hogy a Google Chrome, mint böngésző egyáltalán engedi-e magát userscripttel befolyásolni, szóval lehet, hogy nem is lehetséges, amit akarok. :U

    Szia, nem nagyon értem a kérdést, ugyanis ezeket az ikonokat nem lehet lecserélni tudtommal, csak ezeket.

    Valamint a kiegészítő saját fejlesztés, vagy valamit letöltöttél?

  • spammer
    veterán

    Üdv! Nem tudom ez a megfelelő topik-e, de gondolom inkább ide illik:

    Google Chrome böngésző eszköztárában lévő ikont szeretnék lecserélni sajátra. A bővítmény ikonja a gépen van tárolva az "Appdata" könyvtáron belül.....

    A lényeg:

    Ezt az a gépen tárolt ikont szeretném lecserélni egy weben tárolt ikonra egy script segítségével (userscriptként futna a Tampermonkey nevű kiegészítővel).

    Viszont nem értek igazán a javascripthez, egy ilyen scriptet találtam, ami a weben levő képeket cseréli szépen (az működött is), de hiába írtam át az elérési utakat, nem működött, mert ez a script egy dokumentumot vizsgál és azon belül cseréli le a képet, nálam viszont ugye magáról a böngészőről van szó és egy saját gépen tárolt ikonról weben tároltra cseréléséről.

    var ilist = document.images;
    for(var i = 0; i < ilist.length; i++) {
    if(ilist[I].src == "%LOCALAPPDATA%/Google/Chrome/User%20Data/Default/Extensions/extensionid/icons/icon-24.png") {
    ilist(i).src = "http://valami.com/icon.png";
    }
    }

    A %LOCALAPPDATA% csak egy rövidítés, először teljes,részletes eléri úttal próbáltam.

    Tud valaki segíteni, hogy hogyan kellene módosítani ezt a scriptet, vagy hogyan nézne ki egy olyan, ami működne is? Nem tudom, hogy a Google Chrome, mint böngésző egyáltalán engedi-e magát userscripttel befolyásolni, szóval lehet, hogy nem is lehetséges, amit akarok. :U

  • Sk8erPeter
    nagyúr

    A useragent nem konkrétan ott és azért volt, hanem egy attachEvent / addEventListener miatt, még a kód első sorában, az init()-hez. Lehet, hogy ahhoz sem kellett volna, de méd nagyon kezdő vagyok :B De ha már ott volt, gondoltam azt használom...nem jött be :D
    De a lényeg:
    Megoldódott a probléma :)
    document.onkeydown=mozgat;
    function mozgat(e) {
    var nyomott;
    e = e || window.event;
    nyomott = e.keyCode || e.which;
    ...
    }

    Ez a mocsok IE8 x-féle megoldás közül csak ezzel volt hajlandó mozgatni a kurzort...de lényeg, hogy most már megy.
    Köszönöm a segítséget, azt meg főleg, hogy éjjel is :)

    Bocsánat a dupláért!

    Hát basszus, igazad van, IE-ben nem is teszteltem. Tényleg a window.event a megoldás.
    Itt van egy magyarázat, hogy miért is nem megy: [link]
    "The problem is that e is undefined in IE because no event object is passed as a parameter to the event handler. You need the window.event property"

    Mindig meglep, hogy micsoda egy szar ez az Internet Explorer, hogy mindent tök máshogy kezel, mint az összes többi normális böngésző... :U

    Viszont ez, amit korábban szintén linkeltem, gond nélkül működik IE-ben is, mert a jQuery lekezeli az ilyen böngészőbeli hülyeségeket, így az IE-ben előforduló gány dolgokat is.

    Ha már így dumáltunk róla, megcsináltam a JSBinen a javított változatot is:
    http://jsbin.com/axuzid/3/edit#javascript,html,live
    Ez IE8-ban már jól működik!

    Plusz felraktam ide is:
    [Checking arrow key codes with plain JavaScript]

  • Balázs1986
    őstag

    De itt mi a frásznak vizsgálgatsz user agentet? Tök felesleges.
    Plusz talán nem IE6-ban kéne próbálgatni a JSBint... :N Nem olyan meglepő, ha abban a rakás fostalicskában nem működik úgy, ahogy kellene neki.

    Na, de visszatérve. Eleve rossz gyakorlat mindent user agent vizsgálgatásától függővé tenni. Ha javasolhatom, erről még időben szokj le. :) A jó gyakorlat az, ha egy adott böngésző képességeit vizsgálgatod inkább, hogy milyen feature támogatott benne.
    De erre a keycode-os problémára meg ott volt az egyszerű egysoros kód:
    var keycode = (event.which) ? event.which : event.keyCode;
    Ha épp a lenyomott karakterek kódjára vagy kíváncsi, ki nem sz@rja le, hogy az adott felhasználó Internet Explorert vagy épp Konquerort vagy valami tök mást használ-e.

    A useragent nem konkrétan ott és azért volt, hanem egy attachEvent / addEventListener miatt, még a kód első sorában, az init()-hez. Lehet, hogy ahhoz sem kellett volna, de méd nagyon kezdő vagyok :B De ha már ott volt, gondoltam azt használom...nem jött be :D
    De a lényeg:
    Megoldódott a probléma :)
    document.onkeydown=mozgat;
    function mozgat(e) {
    var nyomott;
    e = e || window.event;
    nyomott = e.keyCode || e.which;
    ...
    }

    Ez a mocsok IE8 x-féle megoldás közül csak ezzel volt hajlandó mozgatni a kurzort...de lényeg, hogy most már megy.
    Köszönöm a segítséget, azt meg főleg, hogy éjjel is :)

    Bocsánat a dupláért!

  • Balázs1986
    őstag

    De itt mi a frásznak vizsgálgatsz user agentet? Tök felesleges.
    Plusz talán nem IE6-ban kéne próbálgatni a JSBint... :N Nem olyan meglepő, ha abban a rakás fostalicskában nem működik úgy, ahogy kellene neki.

    Na, de visszatérve. Eleve rossz gyakorlat mindent user agent vizsgálgatásától függővé tenni. Ha javasolhatom, erről még időben szokj le. :) A jó gyakorlat az, ha egy adott böngésző képességeit vizsgálgatod inkább, hogy milyen feature támogatott benne.
    De erre a keycode-os problémára meg ott volt az egyszerű egysoros kód:
    var keycode = (event.which) ? event.which : event.keyCode;
    Ha épp a lenyomott karakterek kódjára vagy kíváncsi, ki nem sz@rja le, hogy az adott felhasználó Internet Explorert vagy épp Konquerort vagy valami tök mást használ-e.

    Akkor már csak IE8 alatt tesztelem :)
    Kipróbáltam az általad másolt kódot még akkor, amikor láttam a JSBint-ben...egész pontosan így nézett ki:
    document.onkeydown=mozgat;
    function mozgat(e)
    {
    var nyomott = (e.which) ? e.which : e.keyCode;
    ...
    }

    Így is jön a "which értéke NULL, vagy nem objektum" üzenet. Ami érdekes, mivel neki a which-el nem kellene foglalkozni, ha csak nem mindjárt a vizsgálandó értékkel van a baj.
    Ezért próbaként változtattam így:
    var nyomott = (e.keyCode) ? e.keyCode: e.which;
    Ekkor pedig "keyCode értéke NULL, vagy nem objektum" jött...tehát arra gondolnék nem az ellenőrzésnél van a baj, hanem eleve nem is ad át az esemény karakterkódot :F
    Ez létezhet? És mint írtam, a JSBint-nél is ezt csinálja. Most már komolyan nem tudom, hogy az IE8 a bugos, vagy a kódom. Még arra tudok gondolni, hogy valamiért nem jó helyen van a fókusz...de akkor meg miért csak IE8 alatt? :F
    (Elnézést a sok szenvedésért, de tényleg nem tudom felfogni...)

  • Sk8erPeter
    nagyúr

    De, olvastam, és nálam, IE9 alatt mennek is. Leírom, pontosan mi a helyzet :)
    A szitu a következő:
    Nálam megy a JSBin és a saját kód is, IE9, Chrome, Fox alatt egyaránt, nincs gond.
    Közben ftp-zem fel egy tárhelyre, saját gép alatt virtuális gépen ellenőrzöm Xp alatti IE6-tal, és nem megy. Nem estem kétségbe, gondoltam biztos nálam a baj, ezért TeamViewerrel meglestem egy távoli gépen is, IE8 alatt. Ott nem megy sem a JSBin, sem a saját oldal (ami egyébként itt van) Más böngészőn virtuális és TW gép alatt jók.
    Valamint, csak hogy biztos legyen a dolog, saját gépen megy a VirtualBox, benne egy XP, 6-os Explorerrel, és ott sem mennek.
    Jelenleg ez a helyzet (ezúttal nem egy épp félig megírt kódrészt másolok :) ):

    var ua = navigator.userAgent; /*global*/
    var explorer = (ua.indexOf("MSIE")> -1) ? 1 : 0; /*global*/
    document.onkeydown = function (e)
    {
    if(explorer)
    { alert("explorer");
    nyomott=e.keyCode;
    }
    else
    { alert("nem explorer");
    nyomott=e.which;

    /*billentyűvizsgálat*/
    }

    Addig eljutok, hogy mind nálam, az IE9 alatt, mind a másik két gépen IE8 és IE6 alatt kiírja az adott böngésző, hogy "explorer", ellenben azonnal mögévágja, hogy "keyCode is NULL. Nem értem :(

    De itt mi a frásznak vizsgálgatsz user agentet? Tök felesleges.
    Plusz talán nem IE6-ban kéne próbálgatni a JSBint... :N Nem olyan meglepő, ha abban a rakás fostalicskában nem működik úgy, ahogy kellene neki.

    Na, de visszatérve. Eleve rossz gyakorlat mindent user agent vizsgálgatásától függővé tenni. Ha javasolhatom, erről még időben szokj le. :) A jó gyakorlat az, ha egy adott böngésző képességeit vizsgálgatod inkább, hogy milyen feature támogatott benne.
    De erre a keycode-os problémára meg ott volt az egyszerű egysoros kód:
    var keycode = (event.which) ? event.which : event.keyCode;
    Ha épp a lenyomott karakterek kódjára vagy kíváncsi, ki nem sz@rja le, hogy az adott felhasználó Internet Explorert vagy épp Konquerort vagy valami tök mást használ-e.

  • Balázs1986
    őstag

    Hát akkor valamit nagyon benéztél, ha a JSBines kód sem működik nálad. :D (neki érdekes módon ment, ahogy nálam is most is :) ) Gondolom nem olvastad el, amit abban a hozzászólásban írtam, hogy egyértelműsítsem a dolgot.

    http://jsbin.com/axuzid/edit#preview
    KATTINTS BELE abba a területbe, ahol a Hello World szöveg van...majd nyomogasd a kurzorbillentyűket (nyilakat).

    De, olvastam, és nálam, IE9 alatt mennek is. Leírom, pontosan mi a helyzet :)
    A szitu a következő:
    Nálam megy a JSBin és a saját kód is, IE9, Chrome, Fox alatt egyaránt, nincs gond.
    Közben ftp-zem fel egy tárhelyre, saját gép alatt virtuális gépen ellenőrzöm Xp alatti IE6-tal, és nem megy. Nem estem kétségbe, gondoltam biztos nálam a baj, ezért TeamViewerrel meglestem egy távoli gépen is, IE8 alatt. Ott nem megy sem a JSBin, sem a saját oldal (ami egyébként itt van) Más böngészőn virtuális és TW gép alatt jók.
    Valamint, csak hogy biztos legyen a dolog, saját gépen megy a VirtualBox, benne egy XP, 6-os Explorerrel, és ott sem mennek.
    Jelenleg ez a helyzet (ezúttal nem egy épp félig megírt kódrészt másolok :) ):

    var ua = navigator.userAgent; /*global*/
    var explorer = (ua.indexOf("MSIE")> -1) ? 1 : 0; /*global*/
    document.onkeydown = function (e)
    {
    if(explorer)
    { alert("explorer");
    nyomott=e.keyCode;
    }
    else
    { alert("nem explorer");
    nyomott=e.which;

    /*billentyűvizsgálat*/
    }

    Addig eljutok, hogy mind nálam, az IE9 alatt, mind a másik két gépen IE8 és IE6 alatt kiírja az adott böngésző, hogy "explorer", ellenben azonnal mögévágja, hogy "keyCode is NULL. Nem értem :(

  • Sk8erPeter
    nagyúr

    Sajnos nem működik a JS Bin kód sem, a which-el van baja, akárcsak az enyémnél (közben rájöttem, hogy amit fentebb másoltam, eleve nem lehetne jó :D )
    "which értéke NULL vagy nem objektum" -ezt kapom, ha gombnyomás történik.

    Hát akkor valamit nagyon benéztél, ha a JSBines kód sem működik nálad. :D (neki érdekes módon ment, ahogy nálam is most is :) ) Gondolom nem olvastad el, amit abban a hozzászólásban írtam, hogy egyértelműsítsem a dolgot.

    http://jsbin.com/axuzid/edit#preview
    KATTINTS BELE abba a területbe, ahol a Hello World szöveg van...majd nyomogasd a kurzorbillentyűket (nyilakat).

  • Balázs1986
    őstag

    Sajnos nem működik a JS Bin kód sem, a which-el van baja, akárcsak az enyémnél (közben rájöttem, hogy amit fentebb másoltam, eleve nem lehetne jó :D )
    "which értéke NULL vagy nem objektum" -ezt kapom, ha gombnyomás történik.

  • Sk8erPeter
    nagyúr

    Sziasztok!

    Adott egy javascript program, amiben egy táblázat elemei között a billentyűzet nyilaival kellene közlekedni.
    Chrome, Fox, IE9 alatt működik, de IE8 és az alatt sehogyan sem bírom életre keleni.
    (Google találatok sem igazán segítettek ki :( )
    window.onkeydown = function (e)
    {
    if(window.e)
    {
    nyomott=e.keyCode;
    }

    else
    {
    nyomott=e.which;
    }

    if (nyomott==39)
    ...

    Próbáltam window helyett document-tel, de nem lett jobb a helyzet. Van ötletetek a helyes megoldásra?
    Köszönöm előre is!

  • Balázs1986
    őstag

    Sziasztok!

    Adott egy javascript program, amiben egy táblázat elemei között a billentyűzet nyilaival kellene közlekedni.
    Chrome, Fox, IE9 alatt működik, de IE8 és az alatt sehogyan sem bírom életre keleni.
    (Google találatok sem igazán segítettek ki :( )
    window.onkeydown = function (e)
    {
    if(window.e)
    {
    nyomott=e.keyCode;
    }

    else
    {
    nyomott=e.which;
    }

    if (nyomott==39)
    ...

    Próbáltam window helyett document-tel, de nem lett jobb a helyzet. Van ötletetek a helyes megoldásra?
    Köszönöm előre is!

  • Sk8erPeter
    nagyúr

    Nagyjából ez alapján csináltam meg egy részét, de azóta kiment a fejemből... :B
    Rájöttem, hogy a php echoval visszaadott javascript kód nem éppen elegáns, pedig oly egyszerű lett volna. :DDD

    Hát az valóban nem túl elegáns. :N
    Remélem akkor így összejön (vagy már összejött).

  • papa019
    senior tag

    Pedig korábban egy eléggé hasonlót kérdeztél itt. :)

    Nagyjából ez alapján csináltam meg egy részét, de azóta kiment a fejemből... :B
    Rájöttem, hogy a php echoval visszaadott javascript kód nem éppen elegáns, pedig oly egyszerű lett volna. :DDD

  • Sk8erPeter
    nagyúr

    Olyan kérdésem lenne hozzád/hozzátok, hogy hogyan tudom azt megvalósítani jQery+PHP kombóval, hogy a jQueryvel nem betöltök egy php-t, csak futtatok, és a php visszadob egy json, vagy xml pakkot?

    Jelenleg úgy működik a programom, hogy ahol betölteném az adatbázisom adatait a klienssel, ott meghívom a php fájlt így:
    $("#xyz").load('ajaxLoad.php');
    Majd a php-ben az echo-val visszadobom a Javascriptet, amivel kirajzolom a területeket, de ez nem túl elegáns módszer.

    Azt szeretném megcsinálni, hogy a php egy adatfájlt dobjon vissza és ezt feldolgoznám a JS-el.

    Pedig korábban egy eléggé hasonlót kérdeztél itt. :)

  • papa019
    senior tag

    A jQuery AJAX függvényei, közöttük a jQuery.get(), a jQuery.getJSON(), esetleg a jQuery.ajax() függvények lesznek segítségedre. (Az utolsó teljesen általános, az előbbi kettő ennek egyszerűbb wrapperei.)

    Az elv pont az, ahogy írod, a PHP ilyen adatot dumpol ki, ezen függvények megfelelőjével indítasz egy XHR-t a háttérben, aztán a callback függvényben azt csinálsz a behozott adattal, ami jól esik.

    :R

  • Karma
    félisten

    Olyan kérdésem lenne hozzád/hozzátok, hogy hogyan tudom azt megvalósítani jQery+PHP kombóval, hogy a jQueryvel nem betöltök egy php-t, csak futtatok, és a php visszadob egy json, vagy xml pakkot?

    Jelenleg úgy működik a programom, hogy ahol betölteném az adatbázisom adatait a klienssel, ott meghívom a php fájlt így:
    $("#xyz").load('ajaxLoad.php');
    Majd a php-ben az echo-val visszadobom a Javascriptet, amivel kirajzolom a területeket, de ez nem túl elegáns módszer.

    Azt szeretném megcsinálni, hogy a php egy adatfájlt dobjon vissza és ezt feldolgoznám a JS-el.

    A jQuery AJAX függvényei, közöttük a jQuery.get(), a jQuery.getJSON(), esetleg a jQuery.ajax() függvények lesznek segítségedre. (Az utolsó teljesen általános, az előbbi kettő ennek egyszerűbb wrapperei.)

    Az elv pont az, ahogy írod, a PHP ilyen adatot dumpol ki, ezen függvények megfelelőjével indítasz egy XHR-t a háttérben, aztán a callback függvényben azt csinálsz a behozott adattal, ami jól esik.

  • papa019
    senior tag

    Használhatod a sima $.ajax()-ot vagy a $.get()-et, meg a $.post()-ot is, attól függ, hogyan akarod küldeni az adatokat.
    A dokumentációban nagyon jók a példák:
    [link]
    Itt egy lehetséges példa: [link].

    Olyan kérdésem lenne hozzád/hozzátok, hogy hogyan tudom azt megvalósítani jQery+PHP kombóval, hogy a jQueryvel nem betöltök egy php-t, csak futtatok, és a php visszadob egy json, vagy xml pakkot?

    Jelenleg úgy működik a programom, hogy ahol betölteném az adatbázisom adatait a klienssel, ott meghívom a php fájlt így:
    $("#xyz").load('ajaxLoad.php');
    Majd a php-ben az echo-val visszadobom a Javascriptet, amivel kirajzolom a területeket, de ez nem túl elegáns módszer.

    Azt szeretném megcsinálni, hogy a php egy adatfájlt dobjon vissza és ezt feldolgoznám a JS-el.

  • Sk8erPeter
    nagyúr

    Udv!

    Van egy ilyen kod reszletem:

    $('#username').click(function() {
    $('#username').val('');
    });

    Lehetseges ezt valahogy ugy atalakitani hogy mondjuk fade effectel tunjon el a value?

    Elore is koszonom a segitseget!

    Lehet, csináltam róla demót: [link]
    Kelleni fog hozzá a jQuery UI is, itt is be van töltve.

    Egyébként gyorsan hozzáteszem, hogy felhasználói szempontból szerintem nagyon idegesítő, ha eltűnik a szöveg egy ilyen szövegmezőben, hadd döntsem el én, hogy mikor akarom kitörölni, ne törlődjön automatikusan! Ez főleg egy felhasználói név begépelésére szolgáló szövegmezőben nem indokolt.

  • [pod]Diablo
    őstag

    Udv!

    Van egy ilyen kod reszletem:

    $('#username').click(function() {
    $('#username').val('');
    });

    Lehetseges ezt valahogy ugy atalakitani hogy mondjuk fade effectel tunjon el a value?

    Elore is koszonom a segitseget!

  • Sk8erPeter
    nagyúr

    Akkor ha büntetni akar a fejléc elrejtése miatt, kitilt a Java Scripttel is ugyanúgy, ezek szerint?

    ha a kódod úgy néz ki, hogy valami ilyesmi (nyilván lebutítva csak a példa kedvéért):
    <!DOCTYPE html>
    <html>
    <head>
    ...................
    </head>
    <body>
    ...........
    <div id="page">
    ..........................
    <iframe src="...."></iframe>
    ...................
    </div>
    </body>
    </html>

    Akkor pontosan ezt fogja látni a Google robotja is, és nem számít, hogy itt JavaScripttel akár kivettél, akár beraktál elemeket.
    Hogy az iframe-ért mennyire büntet, azt már teljesen másik topicba tartozik (SEO), de az tény, hogy ha az a szempont, hogy a forráskódért büntet-e a Google vagy sem, akkor annak a JavaScripthez semmi köze, jelenleg ugyanis a Google keresőrobotja lesz@rja a JavaScriptes módosításokat. Ezért is kell arra ügyelni, hogy a tartalmak jól megjelenjenek kikapcsolt JavaScript mellett is, amennyiben számít a keresőoptimalizálás.
    A Google Webmaster Tools-ban van egy Fetch as Googlebot opció, ha ezt megnézed, úgy fogod látni az oldaladat, ahogy a Google keresőrobotja látja - látod a headereket és a nyers forráskódodat.

    Egyébként ha van rá alternatíva, legjobb elkerülni az ilyen iframe-es beágyazást, és megoldani másképp (saját dinamikus tartalom generálásával, API felhasználásával, stb.).

  • Chrystall
    senior tag

    Csak kliensoldalon tudnád módosítani, valóban JavaScripttel, pl. jQuery-vel:
    http://stackoverflow.com/questions/1796619/how-to-access-the-content-of-an-iframe-with-jquery

    DE most gyorsan hozzáteszem, hogy amennyiben a Google miatt érdekel a dolog, akkor totálisan semmi értelme az egésznek, mivel a Google nem JavaScripttel ellátott böngészővel fogja vizslatni az oldalad FORRÁSKÓDJÁT... :N

    Akkor ha büntetni akar a fejléc elrejtése miatt, kitilt a Java Scripttel is ugyanúgy, ezek szerint?

  • Sk8erPeter
    nagyúr

    Sziasztok!

    Saját magamnak csináltam nemrég egy honlapot, nem vagyok egy nagyon tapasztalt programozó, de egy HTML weboldalt össze tudtam hozni. Viszont van vele annyi gondom, hogy kéne egy részéhez Javascript, amit nem tudok megcsinálni, mert lövésem sincs az egész témárol.

    Valamelyikőtök nem tudna segíteni. Egy egész egyszerű dologról lenne egyébként szó.

    Adott több lapon is ez a kódrészlet:

    <iframe src="https://viewer.zoho.com/embed.jsp?f=gIvdE" frameborder="0" width="680" height="600" style="margin-bottom:-70px; margin-top:-40px; "> </iframe>

    Ezekben a Framekben a Zoho viewer jelenik meg, az az online dokumentum nézegető, de a fejlécet mindig eltüntetem a vastagon kiemelt margóbeállítással, mert nem néz ki jól, hogy minddig megjelenik a dokumentum fölött a filenév.

    Tanakodtunk rajta a Google forumán, hogy emiatt adhat-e a Google rejtett tartalom miatti büntetést, azt monták nem valószínű, de biztosabb, ha írok egy szkriptet, ami utólag levágja a fejlécet. Bár nem tudom ez mért más, mintha beállítom a margó, hisz ugyan úgy akkor lesz egy rejtett tartalom, bár én nem vágom ezt a scriptezést...

    Valaki be tudna ide másolni egy ilyen scriptet, gondolom ez nem egy bonyolult dolog, vagy ha senkinek nincs ideje rá, erre a fajta műveletre hol találok leírást? Hol van leírás arról a parancsról, ami nekem kelle a script-be, hogy eltünjön a framekben a fejléc? Tudtok segíteni?

    Csak kliensoldalon tudnád módosítani, valóban JavaScripttel, pl. jQuery-vel:
    http://stackoverflow.com/questions/1796619/how-to-access-the-content-of-an-iframe-with-jquery

    DE most gyorsan hozzáteszem, hogy amennyiben a Google miatt érdekel a dolog, akkor totálisan semmi értelme az egésznek, mivel a Google nem JavaScripttel ellátott böngészővel fogja vizslatni az oldalad FORRÁSKÓDJÁT... :N

  • Chrystall
    senior tag

    Sziasztok!

    Saját magamnak csináltam nemrég egy honlapot, nem vagyok egy nagyon tapasztalt programozó, de egy HTML weboldalt össze tudtam hozni. Viszont van vele annyi gondom, hogy kéne egy részéhez Javascript, amit nem tudok megcsinálni, mert lövésem sincs az egész témárol.

    Valamelyikőtök nem tudna segíteni. Egy egész egyszerű dologról lenne egyébként szó.

    Adott több lapon is ez a kódrészlet:

    <iframe src="https://viewer.zoho.com/embed.jsp?f=gIvdE" frameborder="0" width="680" height="600" style="margin-bottom:-70px; margin-top:-40px; "> </iframe>

    Ezekben a Framekben a Zoho viewer jelenik meg, az az online dokumentum nézegető, de a fejlécet mindig eltüntetem a vastagon kiemelt margóbeállítással, mert nem néz ki jól, hogy minddig megjelenik a dokumentum fölött a filenév.

    Tanakodtunk rajta a Google forumán, hogy emiatt adhat-e a Google rejtett tartalom miatti büntetést, azt monták nem valószínű, de biztosabb, ha írok egy szkriptet, ami utólag levágja a fejlécet. Bár nem tudom ez mért más, mintha beállítom a margó, hisz ugyan úgy akkor lesz egy rejtett tartalom, bár én nem vágom ezt a scriptezést...

    Valaki be tudna ide másolni egy ilyen scriptet, gondolom ez nem egy bonyolult dolog, vagy ha senkinek nincs ideje rá, erre a fajta műveletre hol találok leírást? Hol van leírás arról a parancsról, ami nekem kelle a script-be, hogy eltünjön a framekben a fejléc? Tudtok segíteni?

  • Sk8erPeter
    nagyúr

    Használja mindenki a $.ajax({})-ot, ezzel fog a leggyorsabban menni minden ($.get(), $.post() alatt ez bújik meg, nem kell a plusz kanyar). :)

    Ja, én is csak ezt használom, főleg, hogy a hibakezelés is jóval egyszerűbb vele.

  • Peter Kiss
    őstag

    Használhatod a sima $.ajax()-ot vagy a $.get()-et, meg a $.post()-ot is, attól függ, hogyan akarod küldeni az adatokat.
    A dokumentációban nagyon jók a példák:
    [link]
    Itt egy lehetséges példa: [link].

    Használja mindenki a $.ajax({})-ot, ezzel fog a leggyorsabban menni minden ($.get(), $.post() alatt ez bújik meg, nem kell a plusz kanyar). :)

  • Sk8erPeter
    nagyúr

    Ha lekérni akarok adatokat a PHP-től a jQuery felé, akkor gondolom a get() fv-t kell használnom jQueryben, de hogyan tudok küldeni ennek a függvénynek adatok a php-ből?

    Használhatod a sima $.ajax()-ot vagy a $.get()-et, meg a $.post()-ot is, attól függ, hogyan akarod küldeni az adatokat.
    A dokumentációban nagyon jók a példák:
    [link]
    Itt egy lehetséges példa: [link].

  • papa019
    senior tag

    Hát nagyon komoly dolgokat lehet vele csinálni viszonylag egyszerűen, az biztos.
    Amúgy nincs mit, majd szólj itt a topicban, ha valami nem megy!

    Ha lekérni akarok adatokat a PHP-től a jQuery felé, akkor gondolom a get() fv-t kell használnom jQueryben, de hogyan tudok küldeni ennek a függvénynek adatok a php-ből?

Új hozzászólás Aktív témák