2011 18 veljača 2011

IE Javascript Pogreška: Objekt ne podržava ovo svojstvo ili metodu

Imao čudan problem, gdje je radio komad JavaScript u redu u svim preglednika ans su uobičajene bar IE :) ... Jednostavno je to, ali budući da je pismo nije napisano po meni, to je neko vrijeme za ispravljanje ovu "Objekt ne podržava ovo svojstvo ili metodu" greška da samo IE je bacanje gore. Vjerojatno! Da sam napisati scenarij, ne bih dobio ovu pogrešku na sve, kao ne miješati svoje varijabilne imena s polja IDS :).

Problem: Objekt ne podržava ovo svojstvo ili metodu (na liniji 3)

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

Rješenje:
Pogreška nastaje na thirdrow u gornjem primjeru (linija 3 ... "shortdesc = document.getE ...."). Pokušao sam sve vrste gluposti, da ja dont još vrijedi spomenuti ovdje i na kraju pogodite što! samo mijenja shortdesc var na nešto drugo je dobio osloboditi od pogreške. Uglavnom! Ime varijable morao razlikuje od fieldID


2009 24. ožujak 2009

Onemogućen = "true" i osobe s invaliditetom = "false", isti?

Ovo one old school, ali kao i obično, to je moja memorija dodatak ...
Tako je onemogućen = "true" i osobe s invaliditetom = "false", isti? Da
... Ne vjerujem, dobro! taj način je to ... ovdje je neke brzo objašnjenje ...
"Onemogućena" je atribut bilo kojem obliku elementa / polja i stoga može prihvatiti nikakvu vrijednost po svojoj prirodi.

Dokle god ovaj atribut je prisutan, element će biti onemogućen bez obzira na njegovu vrijednost. npr.
<input type="text" value="This je disabled" disabled>
<input type="text" value="This je disabled" disabled="disabled">
<input type="text" value="This je disabled" disabled="true">
<input type="text" value="This je disabled" disabled="false">

Sve gore navedeno će to polje obrasca "Disabled".

Jednostavno ne pruža atribut "Disabled" drži Field "ABLED" ... kao što je ispod

<input type="text" value="This nije disabled" />

Sjeti se "bilo koju vrijednost (ili ne vrijednost na sve) za osobe s invaliditetom atributa, preglednik će donijeti je onemogućen". Da bi stvari jasno u našim umovima W3C preporučuje da mi koristimo onemogućen = "osobe s invaliditetom" u takvim situacijama.

To je razlika da kad smo koristiti ovaj atribut u JavaScriptu ...

document.form.element.disabled = true / / element koji će biti onemogućen
document.form.element.disabled = false; / / element koji će biti omogućen

Navedeni argumenti su također vrijedi i za tih atributa i elementima:

  • provjeriti (radio gumb i okvir)
  • odabrani (opcija)
  • nowrap (td)

2009 7. ožujka 2009

Pozivanje više Windows Onload funkcije u JavaScript

Evo još malo od peice Javascript trikovima da sam morao iskopati oko, jer situacija to commaned. U jednom od mojih web stranica, morao sam ovu situaciju u kojoj sam morao provesti "windows.onload" dva puta. Prva stvar koju bi došao do neiskusan umu poput moje (Moram iskreno reći da, budući da sam bio koristeći javascript okvire i biblioteke, ja sam forgotton raditi jednostavne stvari na svoje ... tužno, ali istinito), je sljedeća metoda ...

 window.onload = onloadfn1;
 window.onload = onloadfn2;
 window.onload = onloadfn3;
 itd. ..

Žao nam je reći, ali to neće raditi ... ne želim raspravljati o izvršenju znanost Javascript puno ... ali u skladu s mog nedavnog iskustva, samo zadnja funkcija (onloadfn3) bolesna zapravo će se izvršiti.

U normalnim situacijama, za razliku od moje (što ću govoriti o malo kasnije) ... možete učiniti jedno od sljedećeg izvršiti mutliple onload funkcije ....

Ili nešto ovako

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

Za moju trenutnu situaciju, ne mogu koristiti bilo koji od gore ...
Zašto trebam nazvati windows.onload dva puta, a ne da zovete dvije funkcije u jednom onload funkciji? Ovdje je brzi pogled na moj problem gubitka ...

"Moji web stranice su strukturirane poput Wordpress temu .... tj. postoji zajednički Header.php i Footer.php koji se uključeni u sve web stranice. Tu je implementaion onload funkcija u Footer.php učiniti neke zajedničke onload funkcije. I postoji nekoliko stranica koje je potrebno nešto vlastitog ONLOAD, osim onih koji obavljaju zajedničke funkcije onload. Ako sam dodijeliti funkciju za povratni poziv izravno na window.onload rukovatelj, to će više-voziti prethodno dodijeljene callbacks u Footer.php "

.... Je li moj problem razumio :) ?

Dobro! postoji nekoliko rješenja koja ja je pronaći. Svi oni su vrlo slične i uglavnom implementions otopine koju Simon Willison ( http://simonwillison.net/2004/May/26/addLoadEvent/ ) ...

Rješenje:

Jednostavno dodajte ovaj javascript kod za stranice ...

 addLoadEvent funkcija (funkcija) {
     var oldonload = window.onload;
     if (typeof window.onload! = 'funkcija') {
        window.onload = funkcija
     Else {}
        window.onload = funkcija () {
            if (oldonload) {
                   oldonload ()
           }
           funkcija ()
        }
    }
 }

I nazovite ga, umjesto uobičajenog "windows.onload"

 addLoadEvent (FunctionToRunOnPageLoad);
 addLoadEvent (funkcija () {
 / * Više koda na stranici opterećenja pokazuje *
 }); 

Prednosti ovog koda isječak ...
1. Prvenstveno, to omogućuje vam da imate više windows.onload događanja, nazvan od odvojene dijelove koda, bez overridding prethodnu definiciju
2. To je stvarno neprimjetna. To se može smjestiti u datoteku s drugim skriptama ili u zasebnoj datoteci.
3. Djeluje čak i ako window.onload je već postavljena.


2008 25. prosinac 2008

Loading JavaScript Dinamički

Ponekad da bi pageweight dolje ... mi smo podijeliti svoje skripte na komadiće ... Ove javascript fragmenti mogu se učitati kao i kada je to potrebno (na događaj ili klikom na link ili gumb i sl.).

Loading JavaScript dinamički je jednostavna i prilično ravno naprijed kao ispod ...

= “text/javascript” > <Script type = "text / javascript">
Funkcija loadNewScript (izvor) {
var i = document.createElement ('skripta');
s.setAttribute ('vrsta', 'text / javascript ");
s.setAttribute ('src', izvor);
document.body.appendChild (i);
}
</ Script>

i možete imati na sljedeći link poziva bilo gdje u tijelu, ili možete imati ovu skriptu "onLoad" u samom dokumentu ...

= “javascript:loadNewScript('myDynamicScript.js');” >Load Dynamic Script</ a > <Href = "javascript: loadNewScript ('myDynamicScript.js');"> Load Dinamičko Skripta </ a>

ili

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


2008 3. listopad 2008

Jednostavan, lagan, križ Browser Lightbox za svoju web stranicu

Nije da postoji samo nekoliko Lightbox je da možete pronaći kada google. Problem s većinom od lightboxes koje sam našao je da su svi oni kao da koristite jedan ili drugi težinom kao JavaScript okvire jQuery, Prototype i MOOTOOLS i voli. Oni su svi cool i swanky tražite. No, ako je vaš zahtjev "Ali ja želim jednostavan i lagani Lightbox skriptu za moje stranice", onda ovdje je;

Neki lijepo značajke ovog Lightbox

  1. Vrlo lagan
    . 4KB skripti kada pakirane (8 KB nespreman)
    b. 2 kb CSS
    c. Nekoliko redaka HTML-a za Lightbox kontejner
  2. Jednostavan za razumijevanje i provedbu
  3. Može imati više Lightboxes na istoj stranici.
  4. Isto Lightbox kontejner se koristi za pokazati, drugačiji sadržaj (koji se zasebno uključeni skrivenih odjeljaka po stranici), ovisno na link / mogućnost da se kliknuli.
  5. Automatski centri, uzimajući u obzir sve čimbenike kao što su, visine i širine prozora (Razlučivost zaslona), stranica dođite iznos i visina sadržaja Lightbox
  6. Ispitano u IE 7 i ff

Pregled Demo |
Preuzmite Lightbox Izvor Zip (Downloaded 1804 puta)


Korištenje Lightbox [datoteke u zip datoteku]

jo.js i jo_pack.js [pakiran verzija] - jednostavan set JavaScript OBJEKTE [JO], koji sadrži element, prozor i dokumenata pozicioniranja skripte. Možete otvoriti JO.JS ako želite da biste dobili vaše ruke prljave s nekim naprednim Javascripting, stvarajući apstraktne funkcije, koja se širi elemenata svojstva i takve. Ako niste previše u Javascripting, ostavite ga na miru.

lightbox.js, lightbox_pack.js [upakiran verzija] - Sadrže svjetlo skripte okvira upravitelja. Ako ste stranica dizajner, i odgovoran je s implementacijom u Lightbox na stranici, morate razumjeti LightBoxManager. LightBoxManager u osnovi sastoji od samo dvije funkcije showLightBox i closeLightBox.

lightbox.css: - Ako znate CSS, možete se poigrati s lightbox.css prilagoditi pogled-n-osjećati lightbox.css

index.html: Uzorak provedba Lightbox s dva različita sadržaja

lb_underlay_bkg.png: - To je svjetlo / slični transparentni prikaz koji se koristi pozadinu za Lightbox podloge [podloge sloj ispod lighbox, koji sprečava korisnik iz kliknete bilo koji drugi subjekt na stranici, a Lightbox je otvoren]. Možete koristiti bilo koju sliku ili čak solid boja za tu svrhu, ovisno o dizajnu stranice i zahtjev.

icon_lb_close.gif: - slika za blisku Lightbox ručkom na gornjem desnom kutu light box. Možete koristiti bilo koju sliku po dizajnu

Pregled Demo |
Preuzmite Lightbox Izvor Zip (Downloaded 1804 puta)

Molimo Vas da nas imaju svoje komentare i povratne informacije ...


2008 13. rujan 2008

JavaScript: Uređivanje web stranice u pregledniku

Pa, moram reći, a ne kao koristan komad znanosti, ali ako ste Web Developer, može doći pri ruci, jednog dana (ili će to?). Ovdje je mali Bookmarklet, koji omogućuje uređivanje web stranicu za bilo koje mjesto.
I Žao nam je! Možete spremiti rezultate na vašem lokalnom računalu jedini.

javascript: document.body.contentEditable = 'true'; document.designMode = 'o'; void 0


2008 2. rujan 2008

CSS hack: Javascript, CSS, HTML za Firefox

Mnogi puta osjećamo potrebu napisati preglednika specfic hack (iako to nije dobra praksa, mi UI programeri morati posegnuti za takvim zla do velikog preglednici rata dolazi do primirja). Ranije sam spomenuo u ovom članku za svoj ​​IES Samo , kako napisati CSS isječak koji će biti vidljiva IE preglednici <IE7 samo.

Jučer sam imao slučaj, gdje sam htjela napisati nešto Firefox određeni CSS isječke. Dobro! Ja sam ne siguran ako je CSS kod za to, ali tu je HTML. POSTOJI ULOV iako, ovaj komad HTML doesnot pass HTML validaciji. No, anywaz! Ako ste zapeli ili loše kao takav ne-pozdrav za vrednovanje (negdje moramo biti okrutna), možete koristiti sljedeće objaviti link na FF samo stylesheet ili čak samo kodirati CSS unutar tog bloka. Kod

<comment> Stavite Firefox HTML / CSS / skripte ovdje </ comment>

npr.
<comment>
<style>
/ * Stilovi za FF samo * /
fieldset {border: 1px solid # dddddd;}
</ Style>
</ Comment>

I "m sretna u tom trenutku ...


2008 1. rujan 2008

Uklonite pojedini predmet iz javascript polja koja odgovara na prošlo niz

Ovdje je brz način za produženje materinji Javascript Array objekt, samo za to ...

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;
}

Tako sada možete učiniti nešto poput ovoga ...

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

Sada životinje polje će sadržavati "pas", "lav", "mačka", "slon";

PS: I ovdje je Gudački Trim Prototip previše ...

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


Uživajte ....


2008 15. svibanj 2008

Best Practices: Rad s JavaScript-a

Uključite JavaScript-a na dnu HTML dokumenta

Ako nemate document.write (ili bilo koji dinamičan generacija sadržaj stranice koriste JavaScript) umetnuti dio sadržaja stranice u svojim skriptama, premjestite skriptu uključiti izjavu na dnu stranice, prije kraja BODY tag.
HTTP/1.1 specifikacija sugerira da preglednici preuzimanje više od dvije komponente paralelno po hostname. Ako služiti svoje slike s više imena računala, možete dobiti više od dva preuzimanja na odvijati paralelno. Dok je skripta preuzimanja, međutim, preglednik neće pokrenuti nikakve druge preuzimanja, čak i na različitim imena računala.
Također postoje načini da dinamički stvaraju čvorovi i skripte učitati udaljenih skripti nakon što se stranica učita pomoću AJAX.

Externalise javascript-a

Korištenje vanjske JavaScript datoteke će rezultirati bržim utovara stranicama jer su JavaScript datoteke spremljeno u pregledniku. Ugrađeni JavaScript-a "u HTML dokumentima se preuzeti svaki put HTML dokument se traži. To zapravo može smanjiti broj HTTP zahtjeva napravili, ali se naknadno poveća na veličinu HTML dokumenta. Vanjski JavaScript-a su spremljeno u pregledniku, veličina HTML dokumenta je smanjen bez povećanja broja HTTP zahtjeve.
Imajte na umu da, ako korisnik na Vašoj web lokaciji imati više pregleda stranica po sjednici, a mnogi od Vaših stranica ponovno korištenje iste skripte i stilovima, postoji veći potencijal imaju koristi od spremljeni vanjskim datotekama.

Pack vaše JavaScript datoteke

U slučaju JavaScript, za razliku od CSS, datoteke mogu crunched pomoću neke standardne algoritme koji će dati smanjenu veličinu datoteke nego jednostavno ukloniti razmake ili karticama. Primjer paker javascript možete naći ovdje http://dean.edwards.name/packer/

Dobili osloboditi od svih Ponovljene Scripts

To je vrlo neobično da je cijeli skripte mogu se umnožavati, ali pregled deset najboljih web stranica u SAD pokazuje da dvije od njih sadrži dvostruki skriptu. Dvostruki skripte ali očito smanjuje performanse stvaranjem nepotrebne HTTP zahtjeve i izgubiti JavaScript izvršenje.
Također, u mnogim slučajevima, iako se skripta nazivi su različiti, postoji vjerojatnost dvostruke skripti unutar iste stranice zbog reprezentacije veličini i broju skripti.

Minimiziraj pristupa DOM elemenata gdje je to moguće

Pristup DOM elemente s JavaScriptom je sporo, tako da bi imao više osjetljiv stranicu, trebali biste:
• Predmemorija reference na pristupiti elemenata
• Obnovi čvorovi "offline", a zatim dodajte ih u stabla
• Izbjegavajte učvršćivanje izgled s JavaScriptom

Odvojeni od sadrzaj Ponašanje i prezentiranje

Kao što smo odvojeni prikaz (CSS / XSLT) od sadržaja (XHTML / XML), također treba odvojiti ponašanje (Javascript). To se zove nenametljiv Javascript. Baš kao što smo se povezati s vanjskim CSS datotekama, trebali bismo se povezati s vanjskim JavaScript datotekama.

Umjesto tvrdog kodiranja ponašanja u sadržaju (npr. onmouseover, onclick, itd.), ponašanje treba dinamički biti dodan elemenata, klasa, i jedinstvenim elementima (IDS) pomoću DOM. Temeljni dokument, sadržaj, treba sadržavati samo valjani XHTML / XML i ne JavaScript.
Javascript mora povećati sadržaj dodavanjem ponašanje. Sadržaj bi trebao ostati koristan i upotrebljiv bez JavaScript (javascript ili bez pune podrške).


2008 15. ožujka 2008

Odaberite iritantne Kutije vidljiv kroz popup odjeljenja

U nekoliko navrata, a radi izgleda stranice sa popup podjelama / lightboxes / Savjeti i sl. susrećemo se situacije u kojima neki oblik odabir objekata se dogoditi da se pod tim popup odjeljenja, po dizajnu i to pokazuje kroz .... Yuk!

Dobro! možete jednostavno popraviti podešavanjem Z-indeksa prikladno za FF i IE7. No Good Old (dosjetka namijenjen) IE6 ne ponaša onako kako smo zamislili .... SELECT BOX Prikaži putem, čak i nakon što primijeniti neke drastično visoke Z-indeksa za popup Odjel ... sori!!

Nema popravaka za ovaj problem, ali tu su, vjerujem, više od nekoliko putu do posla-oko ovog problema, ali im ovdje da vam reći najjednostavnije rješenje da sam koristiti, koji radi u redu za mene, u većini slučajevi ....

"Skrivanje BOX Rouge odabrati kada SHOW POPUP"

Jednostavno u vašoj skripti isječak gdje vam pokazati vaš popup, dodajte komad skripte za postavljanje vidljivost SELECT Box na "Hidden"

document.getElementById ('my_select') style.visibilty = "skrivene".;

I ne zaboravite da ga vrati na kraju popup odjeljenja

. document.getElementById ('my_select') style.visibilty = "vidljiv";

gdje je "my_select" je ID od iritacije SELECT Box

Nadam se ovo pomaže ...

PS. Postoje ofcourse druge opcije kao što su dinamički positionining IFRAME (iste veličine kao što Popup) pod popup DIV ... To dobro radi previše, ali s dodatkom hrpe DOM elemenata, skripte i glavobolja. Koristio sam ovo rješenje također, a ako to učinite je potrebna pomoć s ovom opcijom, ne pustiti mene znati. Biti će nam drago pomoći!


NDK dom | Izražavajući IT | Izražavajući Ukus | Izražavajući Penmenship | Izražavajući strahopoštovanje | Izražavajući Sebe