2011 Vas 18 2011

Ty JavaScript Klaida: objektas nepalaiko šios ypatybės ar metodo

Turėjo šį keistą klausimą, kur Javascript gabalas dirbo gerai, kaip įprasta bar IE naršyklės ans :) ... Paprasta, bet, nes scenarijus buvo parašytas ne mane, Jis paėmė šiek tiek laiko derinti šią klaidą "objektas nepalaiko šios ypatybės ar metodo", kad tik IE buvo susiduriama su. Turbūt! Jei aš būčiau rašyti scenarijų, aš ne gavo šią klaidą, nemaišyti su lauko IDS :) mano kintamųjų vardai.

Problema: objektas nepalaiko šios ypatybės ar metodo (on line 3)

function funzoneSP(){ document.getElementById('video_id').style.visibility="hidden"; shortdesc = document.getElementById('shortdesc').value; .... } 

Sprendimas:
Aukščiau pateiktame pavyzdyje (3 eilutė ..., "shortdesc = document.getE ....") thirdrow klaida generuoja. Bandžiau visus kvailų dalykų rūšiuoti, kad I dont net neverta paminėti čia, ir pagaliau atspėti, ką! tiesiog, keičiant shortdesc var kažko kito atsikratė klaidą. Iš esmės! Kintamojo pavadinimas turėjo skiriasi nuo fieldID,


2009 Kov 24 2009

Yra išjungtas = "true" ir neįgaliųjų = "false", jis pats?

Tai tie metai mokykloje, tačiau, kaip įprasta, ji yra mano atmintis papildas ...
Taigi yra išjungtas = "true" ir išjungtas = "fiktyviai"?
... Netikiu, gerai! Thats kaip ji ... čia yra šiek tiek trumpas paaiškinimas ...
"Neįgalus asmuo" yra bet kokios formos elemento srityje / atributas, ir todėl gali priimti bet kokią vertę, pagal savo pobūdį.

Tol, kol šis atributas yra elementas bus išjungtas, nepriklausomai nuo jos vertės. pvz.
<input type="text" value="To yra disabled" disabled>
<input type="text" value="To yra disabled" disabled="disabled">
<input type="text" value="To yra disabled" disabled="true">
<input type="text" value="To yra disabled" disabled="false">

Visa tai, kas išdėstyta pirmiau, ši forma laukas "Disabled".

Tiesiog neteikia atributą "NEĮGALIEJI" saugo Lauko "ABLED" ..., kaip nurodyta toliau

<input type="text" value="To yra ne disabled", />

Prisiminti "atributo neįgaliesiems jokios vertės, ar ne vertė ne visi), naršyklė kad ji išjungta". Kad viskas būtų aišku, mūsų protai W3C rekomenduoja, kad mes naudojame išjungtas = "neįgaliesiems" šiose situacijose.

Tai yra skirtumas nors, kai mes naudoti šį požymį, javascript ...

document.form.element.disabled = true; / / elementas bus išjungtas
document.form.element.disabled = false; / / elementas, bus įjungta

Minėti argumentai taip pat yra tiesa, dėl šių savybių ir elementų:

  • patikrinta (radijo mygtuką ir langelius)
  • pasirinktas (galimybė)
  • nowrap (td)

2009 Kov 7 2009

Kreipiamės į keletą Windows onload funkcijos JavaScript

Heres kitą mažai peice Javascript gudrybės, kad aš turėjo kasti aplink, nes situacija commaned. Viename iš mano interneto svetainėse, turėjau šią situaciją, kai aš turėjo, įgyvendinti windows.onload "du kartus. Pirmas dalykas, kuris atėjo, pavyzdžiui, mano nepatyrusio proto Turiu nuoširdžiai pasakyti, kad, nes aš naudoju javascript struktūras ir bibliotekas, aš forgotton, daryti paprastų dalykų mano ... liūdna, bet tiesa), šis metodas ...

 window.onload = onloadfn1;
 window.onload = onloadfn2;
 window.onload = onloadfn3;
 ir tt ..

Atsiprašome pasakyti, bet, tai įpratęs dirbti ... dont wanna aptarti vykdymo mokslo veikiancio Javascript, daug ... bet pagal mano pastarojo laikotarpio patirtį, tik paskutinis funkcija (onloadfn3) bus blogai faktiškai gauti įvykdytas.

Normaliomis aplinkybėmis, priešingai nei mano straipsnio, kurį aš kalbėti apie šiek tiek vėliau) ... galite atlikti vieną iš šių veiksmų atlikti mutliple onload funkcijas ....

Arba kažkas panašaus į tai

 doOnLoad funkcija () {
         onloadfn1 ();
         onloadfn2 ();
         onloadfn3 ();
 }
 window.onload = doOnLoad;

Mano dabartinės padėties, aš negali naudoti arba iš aukščiau ...
Kodėl aš turiu skambinti windows.onload du kartus, o kad paskambinus dvi funkcijas vienoje onload funkcijos? Štai greitas pažvelgti į savo problemą pareiškimą ...

"Mano svetainės puslapius struktūra kaip WordPress tema .... ty yra bendro Header.php ir footer.php, kad bus įtraukti į visus svetainės puslapius. Yra, onload funkcija implementaion, footer.php padaryti keletą bendrų onload funkcijas. IR yra keletas puslapių, kad reikia į kažką savo onload, išskyrus tuos, kurie padaryti bendros onload funkcijos. Jei aš priskirti atgalinio ryšio funkciją tiesiogiai window.onload prižiūrėtojas, jis bus per daug važinėti anksčiau pavestas iššūkius, footer.php "

.... Ar mano problema suprantama :) ?

Gerai! yra keletas sprendimų, kad aš rasti. Jie visi yra labai panašūs ir daugiausia implementions tirpalo,, pateiktą. Simon Willison http://simonwillison.net/2004/May/26/addLoadEvent/ ) ...

Sprendimas:

Tiesiog pridėkite šį javascript kodą į svetainę ...

 . funkcija addLoadEvent (funkcijas) {
     var oldonload = window.onload;
     jei (typeof window.onload = "funkcija") {
        window.onload = funkcijas
     } Else {
        window.onload = function () {
            jei (oldonload) {
                   oldonload ()
           }
           funkcijas ()
        }
    }
 }

Ir vadina jį vietoj įprasto "windows.onload"

 addLoadEvent (FunctionToRunOnPageLoad);
 addLoadEvent (function () {
 / * Daugiau kodui veikti puslapio įkelties *
 }); 

Privalumai Šio kodo fragmentą ...
1. Pirmiausia, ji leidžia turėti keletą windows.onload įvykius, paragino savo kodą iš atskirų dalių, be overridding ankstesnį apibrėžimą
2. Tai tikrai nekrenta į akis. Jis gali būti tiekiami su kitų jūsų scenarijų failą arba atskirame faile.
3. Jis veikia, net jei window.onload jau nustatyti.


2008 2008 Gru 25 d.

Pakrovimo JAVASCRIPTS Dinamiškai

Kartais pageweight žemyn ... mes padalinti mūsų scenarijus į fragmentus ... Šie javascript fragmentai gali būti įkeltas kaip ir kada reikia (įvykio arba paspaudimu nuorodą arba mygtuką ir tt).

Pakrovimo JavaScripts dinamiškai yra paprasta ir gana važiuoti tiesiai į priekį, kaip nurodyta toliau ...

= “text/javascript” > <Scenarijų type = "text / javascript">
. funkcija loadNewScript (šaltinis) {
var s = document.createElement ("script");
s.setAttribute ("tipas", "text / javascript");
s.setAttribute ("src", šaltinis);
document.body.appendChild (-ai);
}
</ Script>

ir jūs galite turėti šių skambučių nuorodą bet kurioje kūno vietoje, arba galite turėti šį scenarijų "onload" pačiame dokumente ...

= “javascript:loadNewScript('myDynamicScript.js');” >Load Dynamic Script</ a > <A href = "javascript: loadNewScript (" myDynamicScript.js); "> apkrovos dinaminio Script'o </ a>.

arba

<body onload="loadNewScript('myDynamicScript.js');">


2008 Oct 3 2008

Paprastas, lengvas, kryžius Naršyklė švieslentė jūsų svetainei

Ne todėl, kad yra tik keletas švieslentė, kad jūs galite rasti, kai jūs google. Su dauguma švieslentes, kad aš rasiu problema buvo ta, kad jie visi atrodė, kad naudoti vieną ar kitų sunkiųjų svorio JavaScript bazės, pavyzdžiui, JQuery, prototipas MooTools ir pan. Jie visi yra kietas ir swanky ieškote. Bet jeigu jūsų reikalavimas yra "Bet aš noriu paprastas ir lengvas švieslentės Mano svetainė" scenarijų, tada čia yra;

Keletas naudingų funkcijų šio švieslentę

  1. Labai lengvas
    a. 4KB scenarijų, kai supakuotiems 8 KiB išpakuota)
    b. 2 kb CSS
    c. Keletas eilučių HTML švieslentės konteinerį
  2. Paprasta suprasti ir įgyvendinti
  3. Gali turėti keletą švieslentes tame pačiame puslapyje.
  4. Pats švieslentę konteineris yra naudojamas norint parodyti kitokį turinį, kuris yra atskirai įtrauktos kaip paslėptų padalinių puslapio), priklausomai nuo to, kad yra paspaudėte nuorodą / option.
  5. Automatiškai centrų, atsižvelgiant į visus veiksnius, pvz., Lango aukštis ir plotis ekrano skiriamoji geba), puslapio slinkties suma ir švieslentę turinį aukštį
  6. Išbandyta 7 IE ir FF

Žiūrėti Demo |
Parsisiųsti švieslentė Šaltinis Pašto (Siuntėsi 1780 kartus)


Naudojant švieslentė [Failai zip faile]

jo.js, jo_pack.js [supakuoti versija]: - objektai Javascript paprastas nustatyti [: JO], kuriame yra elementas, langą ir dokumentų padėties scenarijus. Jūs gali atidaryti JO.JS, jei norite gauti savo rankas purvinas su kai kurių pažangių Javascripting, kuriant abstrakčias funkcijas, išplečiant elementų savybės ir tokių. Jei jūs ne per daug, Javascripting Palikite jį ramybėje.

lightbox.js, lightbox_pack.js [supakuotas versija]: - šviesos dėžės menedžeris scenarijus. Jei esate projektuotojas, taip pat atsakingas įgyvendinimo švieslentę puslapyje, jums reikia suprasti LightBoxManager. LightBoxManager iš esmės yra tik dvi funkcijos showLightBox ir closeLightBox.

lightbox.css: - Jei žinote, CSS, galite pažaisti su lightbox.css pritaikyti išvaizdos n--jaustis lightbox.css,

index.html: pavyzdys su dviem skirtingo turinio švieslentę įgyvendinimas

lb_underlay_bkg.png: - Tai lengvas / Simi skaidrus vaizdas, kuris yra naudojamas švieslentės dangą fonas [Pagrindas yra žemiau į lighbox, sluoksnis, kuris apsaugo vartotoją spustelėdami bet kurio kito subjekto puslapyje, o švieslentę yra atvira]. Galite naudoti bet kokį atvaizdą ar net kietas spalvų šiam tikslui, priklausomai nuo puslapio dizaino ir reikalavimo.

icon_lb_close.gif: - glaudžiai švieslentės rankena įvaizdis šviesos lango viršuje, dešinėje. Galima naudoti bet kokį vaizdą kaip už dizainą

Žiūrėti Demo |
Parsisiųsti švieslentė Šaltinis Pašto (Siuntėsi 1780 kartus)

Prašome leiskite mums turėti savo komentarus ir atsiliepimus ...


2008 Sep 13 2008

Script: Edit interneto naršyklės puslapis

Na, aš turiu pasakyti, ne toks naudingas mokslo kūrinys, tačiau, jei esate kūrėjas, gali ateiti patogu, kada nors (ar tai bus?). Čia yra mažas žymelė, kuri leidžia redaguoti bet kokios svetainės tinklalapį.
Ir Atsiprašau! Jūs galite įrašyti rezultatus į Jūsų vietinį kompiuterį.

javascript: document.body.contentEditable = 'true'; document.designMode = "on"; negalioja 0


2008 Sep 2 2008

CSS Hack: JavaScript, CSS, HTML tik "Firefox"

Daug kartų mes tikime, kad reikia parašyti naršyklės specfic hacks (nors tai nėra gera praktika, mes UI kūrėjai turi imtis tokių blogybių iki didžiųjų naršyklių karų ateina paliaubų). Anksčiau buvo minėta šiame straipsnyje, savo IES tik , kaip parašyti CSS kodo fragmentą, kad būtų matoma <IE7 tik IE naršyklėmis.

Vakar turėjau atvejį, kai aš norėjau parašyti šiek tiek Firefox specifinę CSS fragmentus. Gerai! Aš nesu įsitikinęs, jei yra CSS kodas, bet yra HTML Yra sugavimo Nors, šis HTML doesnot pass HTML patvirtinimo aktas. Tačiau, anywaz! Jei jūs negalite išeiti blogai ar kaip, pavyzdžiui, neturi-linkėjimus Įteisinimas (kažkada mes turime būti žiaurus), galite naudoti šiuos paskelbti nuorodą į FF tik stilių ar net tiesiog kodas CSS per šio bloko. Kodas

<comment> Įdėkite savo "Firefox" tik html / css / Skriptai čia </ comment>

pvz.
<comment>
<style>
/ * Stiliai tik FF * /
fieldset {border: 1px solid # dddddd;}
</ Style>
</ Komentaras>

Aš laimingas metu ...


2008 Sep 1 2008

Pašalinti konkretų elementą iš masyvo Javascript, kad atitiktų priimtą eilutę

Štai greitai išplėsti gimtoji masyvo Javascript objektas, tiesiog padaryti, kad ...

Array.prototype. removeItem =function(str) {
for(i=0; i<this.length ; i++){
if(escape(this[i]).match(escape(str.trim()))){
this.splice(i, 1); break;
}
}
return this;
}

Taigi dabar jūs galite padaryti kažką panašaus į tai ...

var animals= new Array("dog","lion","cat","tiger","elephant");
animals. removeItem ('tiger');

Dabar gyvūnai masyvas bus būti "šuo", "Lion", "cat", "dramblys";

PS: Ir čia yra Styginių Trim Patyręs per ...

String.prototype.trim=function(str) {
str = this != window? this : str;
return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}


Mėgaukitės ....


2008 2008 gegužės 15 d.

Geriausios praktikos: Darbas su JavaScript

Įtraukti JavaScript HTML dokumento apačioje

Jei neturite document.write (arba bet dinamiškas kartos puslapio turinio JAVASCRIPTS) įterpti puslapio turinio dalį savo scenarijų, perkelti scenarijų pareiškimą puslapio apačioje, prieš žymelės "body pabaigoje.
HTTP/1.1 specifikacija rodo, kad naršyklės atsisiųsti ne daugiau kaip du komponentus kartu per hostname. Jei tarnauti savo atvaizdus iš kelių pavadinimų as, galite gauti daugiau nei du parsisiųsti vykti lygiagrečiai. Nors scenarijus atsisiųsti, tačiau naršyklė nebus pradėti bet kokius kitus parsisiųsti, net skirtingų kompiuterių pavadinimus.
Yra būdų, dinamiškai sukurti SCRIPT mazgų ir įkelti nuotolinio scenarijus, po to, kai puslapis yra įkeliamas naudojant AJAX.

Išorę jums JavaScript-

Naudojant išorinius JavaScript failus greičiau pakrovimo puslapių, nes JavaScript failai talpyklos naršyklės. Inline JavaScript "HTML dokumentų siųstis kiekvieną kartą, HTML dokumentas yra prašoma. Tai iš tiesų gali sumažinti skaičių HTTP prašymus, tačiau vėliau padidėja HTML dokumento dydį. Išorinis JavaScript talpyklos naršyklės HTML dokumento dydis sumažinamas nedidinant HTTP užklausas.
Atkreipkite dėmesį, kad, jei jūsų svetainės vartotojai turi keletą puslapių peržiūrų per sesiją, ir daugelis iš jūsų puslapiuose vėl naudoti tie patys scenarijai ir stilių, yra didesnė nauda iš talpyklos išorinius failus.

Pakuotėje Jūsų Javascript failus

JAVASCRIPTS atveju, skirtingai nuo CSS failai krizės paliestose naudojant kai kuriuos standartinius algoritmus, kurie duotų mažesnį failo dydį, nei paprasčiausiai pašalinti tarpų ir skirtukus. Javascript Pakuotojo pavyzdį galima rasti čia http://dean.edwards.name/packer/

Atsikratyti bet kokius pasikartojančius Skriptai

Tai labai neįprasta, kad ištisi scenarijai gali būti dubliuojamas, bet iš dešimties geriausių JAV interneto svetainių apžvalga rodo, kad du iš jų yra besidubliuojančių scenarijų. Dubliuoti scenarijus, bet akivaizdžiai sumažina našumą sukurti nereikalingas HTTP užklausas ir švaistomi JavaScript vykdymas.
Be to, daugeliu atvejų, nors scenarijus pavadinimai skiriasi, yra pasikartojančius scenarijų tikimybė, per tą patį puslapį, atsižvelgiant į komandos dydį ir skaičių scenarijų.

Sumažinti, kur galima gauti DOM elementus

Prieiga prie DOM elementus su JavaScript yra lėtas, todėl, kad būtų labiau atsižvelgiama į puslapį, turėtumėte:
• Cache nuorodos, prieinamų elementų
• Atnaujinti mazgai "offline" ir tada įtraukite juos į medį
• Venkite nustatant išdėstymą su JavaScript

Atskiras elgesys nuo turinio ir pateikimo

Lygiai taip pat, kaip mes atskira pristatymas (CSS / XSLT), turinį (XHTML / XML), mes taip pat turėtų atskirti elgesys (JavaScript). Tai vadinama nekrenta į akis veikiancio Javascript. Lygiai taip pat mes susieti išorinių failų CSS, turėtume susieti su išorės javascript failus.

Vietoj kietojo kodavimo į jų turinį (pvz., onmouseover, onclick ir tt) elgesį, elgesys turėtų būti dinamiškai pridėti elementų, klasių ir unikalių elementų (IDS), naudojant DOM. Pamatinis dokumentas, turinys, turėtų turėti tik galiojantį XHTML / XML ir neturi JavaScript.
"Javascript" turėtų papildyti turinį, pridedant elgesį. Turinys neturėtų būti naudinga ir naudoti be JavaScript arba be visiško javascript paramos).


2008 Kov 15 2008

Dirgina Pasirinkite Dėžės, matomas per Popup skyrių

Kelis kartus, o daro puslapio maketus su iššokantį padalinių ir (arba) švieslentes gudrybės ir tt mes susidurti su atvejais, kai tam tikra forma pasirinkti objektus vyksta pagal šių POPUP skyrių, projektavimo ir ji rodo per .... Yuk!!

Gerai! galite lengvai išspręsti šią problemą nustatydami Jūsų Z indekso reikšmių tinkamai FF ir IE7. Bet senas geras (pun intended) IE6 neturi elgtis taip, kaip numatyta .... PASIRINKITE LANGELIS šou, net po to, kai taikote keletą drastiškai aukštos Z indekso reikšmių iškylančių langų skyrius ... velnias!!!!

Yra NE KOREKCIJOS šią problemą, tačiau, manau, daugiau nei keletą pakeliui į darbą, apie šią problemą, bet jiems čia pasakyti paprasčiausią sprendimą, kad aš naudoju, kuris veikia gerai man, į labiausiai iš atvejų ....

"Slėpti Rouge SELECT lauke, jei jūs Rodyti popup"

Tiesiog jūsų scenarijų fragmentą, kur jūs parodysite savo iššokantį pridėti scenarijų gabalas nustatyti SELECT Box "matomumą" slaptų "

document.getElementById ("my_select) style.visibilty =" paslėptas ".;

Ir prisiminti jį atgal ant CLOSE iškylančių langų skyriaus

document.getElementById (my_select ".) style.visibilty =" matoma ";

kur "my_select" yra dirginimo SELECT langelyje ID

Hope this helps ...

PS. Yra Žinoma kitos galimybės, pavyzdžiui, ir dinamiškai positionining pagal iškylančių langų DIV IFRAME pat dydžio kaip iškylančių) ... Tai veikia taip pat gerai, bet to apkrovų DOM elementų, skriptus ir galvos skausmas. Aš naudoju šį sprendimą, Jei jums reikia pagalbos su šia galimybe, tai let me know. Bus malonu Jums padėti!


NDK namo | Išreikšdami IT | Išreikšti paletė | Išreikšti Penmenship | Išreikšti Awe | Išreikšti Pats