2011 18 shkurt 2011

IE Gabim Javascript: Objekti nuk e mbështet këtë pronë apo metodë

Sikur me këtë çështje të çuditshme, ku një pjesë e Javascript punuar mirë në të gjitha ans shfletuesit IE si bar e zakonshme :) Simple ... ajo ishte, por që shkrimi nuk është shkruar nga mua, Ajo mori një kohë për të korrigjoj këtë "Objekti nuk e mbështesin këtë pronë apo metodë" gabim që vetëm IE u hedhur lart. Ndoshta! Nëse unë do të shkruaj skenarin, unë nuk do të kishte marrë këtë gabim në të gjitha, si nuk përzihen emrat e mi ndryshueshme me terren IDS :).

Problem: Objekti nuk e mbështet këtë pronë apo metodë (on line 3)

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

Zgjidhja:
Gabim është krijuar në thirdrow në shembullin e mësipërm (Line 3 ... "shortdesc = document.getE ...."). Kam provuar të gjitha llojet e gjërave të trashë, që I dont është edhe vlerë të përmend këtu dhe më në fund me mend se çfarë! vetëm ndryshimin e var shortdesc për diçka tjetër mori shpëtoj e gabimit. Në thelb! Emri ndryshueshme duhej të ndryshme nga fieldID


2009 24 Mar 2009

Është i aktivizuar = "e vërtetë" dhe me aftësi të kufizuara = "false", të njëjtën gjë?

Kjo shkollë ato vjetër, por si zakonisht ajo është shtojcë ime memorie ...
Pra, është i aktivizuar = "e vërtetë" dhe me aftësi të kufizuara = "false" njëjtë? Po
Mos ... besoni, mirë! thats mënyrën se si është ... këtu është një shpjegim të shpejtë ...
"Aftësi të kufizuara" është një atribut i çdo element të formës / fushë dhe kështu mund të pranojë asnjë vlerë nga natyra e tij.

Për sa kohë që ky atribut është i pranishëm, element do të jetë me aftësi të kufizuara pavarësisht nga vlera e saj. psh.
<INPUT type="text" value="This është disabled" disabled>
<INPUT type="text" value="This është disabled" disabled="disabled">
<INPUT type="text" value="This është disabled" disabled="true">
<INPUT type="text" value="This është disabled" disabled="false">

Të gjitha më lart do të bëjë fushë kjo formë "invalid".

Thjesht mos siguruar atributin "invalid" e mban Fusha "ABLED" ... si më poshtë

<INPUT type="text" value="This nuk është disabled" />

Mos harroni "Çdo vlerë (ose nuk ka vlerë fare) e atribut me aftësi të kufizuara, browser-i do të bëjë atë me aftësi të kufizuara". Për të mbajtur gjëra të qartë në mendjen tonë W3C rekomandon që ne përdorim me aftësi të kufizuara = "aftësi të kufizuara" në këto situata.

Ky është dallimi pse kur ne përdorim këtë atribut në javascript ...

document.form.element.disabled = vërtetë, / / element do të jetë me aftësi të kufizuara
document.form.element.disabled = false; / / element do të jetë i aktivizuar

Argumentet e mësipërme janë të vërteta për këto atribute dhe elemente:

  • kontrolluar (butonin radio dhe checkbox)
  • zgjedhur (opsion)
  • nowrap (TD)

2009 Mar 7, 2009

Thirrja Multiple onload Funksionet e Windows në JavaScript

Heres tjetër peice pak dredhi Javascript që kam pasur për të gërmoj përreth, sepse situata commaned atë. Në një nga web faqet e mia, unë kam këtë situatë, ku unë kam për të zbatuar "windows.onload" dy herë. Gjëja e parë që do të vinte në një mendje të papërvojë si imi (kam për të të them sinqerisht se, pasi unë kam qenë duke përdorur kuadro javascript dhe bibliotekat, kam forgotton për të bërë gjërat e thjeshta në mi ... sad por e vërtetë), është metodë poshtë ...

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

Na vjen keq të them, por kjo nuk do të punojnë ... dont duan për të diskutuar mbi shkencën e ekzekutimit të aktivizoni Java shumë ... por sipas përvojës sime kohëve të fundit, vetëm funksioni i fundit (onloadfn3) do të sëmurë në të vërtetë të merrni ekzekutuar.

Në situata normale, ndryshe nga imi (që unë do të flasim pak më vonë) ... ju mund të bëni një nga të mëposhtmet për të ekzekutuar funksionet mutliple onload ....

OSE diçka si kjo

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

Për gjendjen time aktuale, unë nuk mund të përdorë ose i lart ...
Pse nuk kam nevojë për të thirrur windows.onload dy herë, më tepër se thirrje dy funksione brenda një funksion onload të vetme? Këtu është vështrim i shpejtë në deklaratën time të problemit ...

"Faqet e mia Site janë të strukturuara si Wordpress Theme .... dmth nuk është një Header.php përbashkëta dhe Footer.php që merr të përfshira në të gjitha faqet e faqes. Nuk është një funksion onload implementaion në Footer.php për të bërë disa funksione të përbashkëta onload. Dhe ka disa faqe që kanë nevojë për diçka të onload tyre, përveç atyre bërë nga funksioni onload përbashkët. Nëse unë caktoj funksion callback direkt në mbajtës window.onload, ajo do të mbi-kalëroj callbacks caktuar më parë në Footer.php "

.... A është problemi im kuptohet :) ?

E pra! ka disa zgjidhje që unë e kam gjetur. Ata të gjithë janë shumë të ngjashme dhe kryesisht implementions e një zgjidhje të caktuar nga Simon Willison simbolit http://simonwillison.net/2004/May/26/addLoadEvent/ ) ...

Zgjidhja:

Thjesht shtoni këtë kod javascript në faqen ...

 Funksioni addLoadEvent (funksionet) {
     var oldonload = window.onload;
     if (window.onload TypeOf! = 'funksioni') {
        window.onload = funksionet
     } Else {
        window.onload = function () {
            në qoftë se (oldonload) {
                   oldonload ()
           }
           funksionet ()
        }
    }
 }

Dhe e quajti atë vend të "windows.onload" e zakonshme

 addLoadEvent (FunctionToRunOnPageLoad);
 addLoadEvent (function () {
 / * Kodi më shumë për të kandiduar në ngarkesës faqe *
 }); 

Avantazhet e kësaj copë kodi ...
1. Kryesisht, kjo ju lejon të ketë ngjarje të shumta windows.onload, i quajtur nga pjesë të veçantë që të kodit tuaj, pa overridding përkufizimin e mëparshme
2. Ajo është me të vërtetë modest. Ajo mund të vendoset në një skedar me të tjera Scripts tuaj ose në një skedar të veçantë.
3. Ajo punon edhe nëse window.onload tashmë është vendosur.


2008 25 dhjetor 2008

Javascripts Loading dinamike

Ndonjëherë për të mbajtur pageweight poshtë ... ne kemi ndarë Scripts tona në fragmente ... Këto fragmente javascript mund të ngarkohet si dhe kur kërkohet (në një rast ose në një klikim të lidhjes ose buton, etj).

Javascripts Loading dinamike është e thjeshtë dhe shumë i drejtë përpara si më poshtë ...

= “text/javascript” > <Script type = "text / javascript">
Funksioni loadNewScript (burimi) {
var s = document.createElement ('script');
s.setAttribute ('lloj', 'text / javascript');
s.setAttribute ('src', burim);
document.body.appendChild (s);
}
</ Script>

dhe ju mund të keni lidhjen e mëposhtme thirrje kudo në trup, ose ju mund të ketë kjo "onload" shkrimit të dokumentit vetë ...

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

ose

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


2008 3 tetor 2008

Thjeshtë, i lehtë, Lightbox Cross Browser për webpage tuaj

Jo se ka vetëm disa Lightbox e që ju mund të gjeni kur ju google. Çështja me shumicën e lightboxes që kam gjetur ishte se ata të gjithë dukeshin të përdorni një ose të tjera strukturat e rënda JavaScript peshe si, jQuery, prototip MOOTOOLS dhe i pëlqen. Ata janë të gjithë të qetë dhe luksoz në kërkim. Por në qoftë se kërkesa juaj është: "Por unë dua që një dorëshkrim i thjeshtë dhe i lehtë Lightbox për web faqen time", atëherë këtu është;

Disa karakteristika bukur të këtij Lightbox

  1. Shumë të lehta
    a. 4kb e Scripts kur mbushura (8 KB unpacked)
    b. 2 kb CSS e
    c. Disa rreshta të HTML për enë Lightbox
  2. Thjeshtë për të kuptuar dhe zbatuar
  3. Mund të ketë Lightboxes të shumta në të njëjtën faqe.
  4. Enë njëjta Lightbox është përdorur për të treguar, përmbajtje të ndryshme (e cila është përfshirë veçmas si ndarjeve të fshehura në faqe), në varësi të lidhjes / opsion që është klikuar.
  5. Automatikisht qendra vetë, duke marrë parasysh të gjithë faktorët si, lartësi dhe gjerësi Window (Rezoluta ekran), shumën faqe rrotull dhe lartësinë e përmbajtjen e Lightbox
  6. Testuar në 7 IE dhe FF

Shiko Demo |
Shkarko Zip Burimi Lightbox (Shkarkuar 1801 herë)


Duke përdorur Lightbox fjalës Files në dosje zip]

jo.js, të jo_pack.js [version mbushura]: - një grup i thjeshtë i OBJEKTEVE JavaScript [JO], i cili përmban, dritare element dhe Scripts pozicionuar dokument. Ju mund të hapur JO.JS në qoftë se ju dëshironi që të merrni duart tuaja të pista me disa Javascripting avancuar, duke krijuar funksione abstrakte, duke u zgjeruar pronat element dhe të tilla. Nëse ju nuk shumë në Javascripting, lëre vetëm.

lightbox.js, lightbox_pack.js [version mbushura]: - Përmbajtja Scripts lehta menaxher kuti. Nëse ju jeni projektues faqe, gjithashtu përgjegjëse me zbatimin e Lightbox në faqe, ju duhet të kuptoni LightBoxManager. LightBoxManager në thelb përmban vetëm dy funksionet showLightBox dhe closeLightBox.

lightbox.css: - Nëse ju e dini CSS, ju mund të luajnë me rreth lightbox.css të rregulloje pamjen-n-ndiheni lightbox.css

index.html: Zbatimi Shembull i Lightbox me dy përmbajtje të ndryshme

lb_underlay_bkg.png: - Kjo është dritë / simi image transparent që është përdorur sfondin për shtresë Lightbox [shtresë është shtresa më poshtë lighbox, e cila parandalon përdoruesit nga klikuar çdo entitet tjetër në faqe, ndërsa Lightbox është e hapur]. Ju mund të përdorni çdo imazh apo edhe një ngjyrë të fortë për këtë qëllim, në varësi të dizajnit faqe dhe kërkesat.

icon_lb_close.gif: - imazhi për të trajtuar Lightbox të ngushtë në të djathtë lartë të kutisë të lehta. Mund të përdorni çdo imazh si për dizajn

Shiko Demo |
Shkarko Zip Burimi Lightbox (Shkarkuar 1801 herë)

Ju lutem na kanë Komentet dhe reagimet tuaja ...


2008 13 shtator 2008

JavaScript: faqe Ndrysho web në shfletuesin

Well, unë duhet të them, jo ​​si një pjesë e dobishme e shkencës, por nëse ju jeni një web developer, mund të vijnë dobishëm, një ditë (ose do ajo?). Këtu është bookmarklet vogël, e cila lejon që të redaktoj faqen e internetit për çdo vend.
Dhe Na vjen keq! Ju mund të ruaj rezultatet në kompjuterin tuaj lokal vetëm.

javascript: document.body.contentEditable = "e vërtetë"; document.designMode = 'në'; void 0


2008 2 shtator 2008

CSS hack: Javascript, CSS, HTML for Firefox vetëm

Shumë një herë ndjejmë nevojën për të shkruar hacks shfletuesit specfic (edhe pse kjo nuk është një praktikë e mirë, ne zhvilluesve UI duhet të përdorë për të këqijave të tilla deri në luftërave shfletues të mëdha fjala për një armëpushim). Më parë, unë kam përmendur në këtë artikull Për IES tuaj Vetëm , si për të shkruar një copë CSS se do të jetë e dukshme për shfletuesit IE <IE7 vetëm.

Dje, kam pasur një rast, ku kam kërkuar për të shkruar disa specifike FireFox CSS copra. E pra! Unë nuk jam i sigurt nëse ka një kod CSS për këtë, por ka një HTML. Nuk është një kapur pse, kjo pjesë e doesnot HTML validation kalojë HTML. Por, anywaz! Nëse jeni të mbërthyer keq ose si i tillë, nuk kanë fala-për vlefshmërinë e simbolit diku ne duhet të jemi mizor), ju mund të përdorni e mëposhtme për të deklarojë një lidhje me një stylesheet FF vetëm apo edhe vetëm kodin CSS brenda këtij blloku. Kodi është

<comment> Vendos Firefox tuaj vetëm HTML / CSS / Scripts këtu </ comment>

p.sh.
<comment>
<style>
/ Styles * për FF vetem * /
FIELDSET {border: solid 1px # dddddd;}
</ Style>
</ Comment>

I "m i lumtur për momentin ...


2008 1 shtator 2008

Hiq artikull të veçantë nga një grup të aktivizoni Java që përputhet me një varg kaluar

Këtu është mënyrë e shpejtë e zgjerimit Objektin amtare Java Array, vetëm për të bërë këtë ...

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

Deri tani ju mund të bëni diçka si kjo ...

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

Tani array kafshët do të përmbajë "qen", "luan", "mace", "elefantit";

PS: Dhe këtu është Prototype String Trim shumë ...

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


Shijoni ....


2008 15 Maj 2008

Praktikat më të mira: Puna me e JavaScript

Përfshirja e JavaScript në fund të dokumentit HTML

Nëse ju nuk keni document.write (ose ndonjë brez dinamike e përmbajtjes faqe duke përdorur Javascripts) për të futur një pjesë të përmbajtjes së faqes në Scripts tuaj, veprim script përfshijë deklaratë në fund të faqes, e para në fund të tag trupit.
HTTP/1.1 specifikim sugjeron se browsers Shkarko jo më shumë se dy komponentët në mënyrë paralele për hostname. Nëse ju shërbejnë imazhet tuaja nga strehëemra shumta, ju mund të merrni më shumë se dy shkarkime të ndodhë në mënyrë paralele. Ndërsa një skenar i shkarkimit, megjithatë, shfletuesi nuk do të fillojë ndonjë shkarkime të tjera, edhe në strehëemra të ndryshëm.
Ka edhe mënyra për të krijuar dinamike nyjet SCRIPT dhe ngarkesës Scripts largët pas faqe është e ngarkuar duke përdorur AJAX.

Externalise ju të JavaScript

Duke përdorur fotografi të jashtme JavaScript do të rezultojë në ngarkimit të shpejtë të faqeve sepse JavaScript fotografi janë kopje e ruajtur nga të shfletuesit. "Inline JavaScript në dokumentet HTML merrni shkarkuar çdo kohë dokument HTML është kërkuar. Ky fakt mund të zvogëlojë numrin e kërkesave HTTP bëra por më pas rrit madhësinë e dokumentit HTML. Jashtme të JavaScript janë kopje e ruajtur nga të shfletuesit, madhësia e dokumentit HTML është reduktuar pa rritjen e numrit të kërkesave HTTP.
Lutemi kini parasysh se, nëse përdoruesit në faqen tuaj të ketë pikëpamjet e shumta faqe për seancë dhe shumë nga faqet tuaja të ri-përdorin Scripts njëjta dhe stili, nuk është një përfitim i madh potencial nga dosjet cached jashtme.

Pak Files JavaScript juaj

Në rast të Javascripts, ndryshe CSS, fotografi mund mungesa përdorur disa algoritme standarde që do të japin një madhësi të reduktuar fotografisë sesa thjesht largimin hapësira apo skedat. Një shembull i javascript paketues mund të gjendet këtu http://dean.edwards.name/packer/

Get shpëtoj i ndonji Scripts kopjuar

Ajo është shumë e pazakontë që Scripts tëra mund të dyfishohen, por një përmbledhje e dhjetë faqet e lartë amerikanë të internetit tregon se dy prej tyre përmbajnë një skenar të dyfishta. Duplicate Scripts por padyshim redukton performancën duke krijuar kërkesa të panevojshme HTTP dhe tretur Ekzekutimi i JavaScript.
Gjithashtu, në shumë raste, edhe pse emrat Scripts janë të ndryshme, ekziston një mundësi e Scripts kopjuar në të njëjtën faqe për shkak të madhësisë së ekipit dhe numrin e Scripts.

Minimize hyrë elemente DOM ku është e mundur

Përdorimi i elementeve DOM me JavaScript është i ngadalshëm kështu në mënyrë që të ketë një faqe më të përgjegjshëm, ju duhet të:
• Të referencat Cache të elementeve të arrihen
• Të nyjet Update "offline" dhe pastaj shtoni ato në pemë
• Shmangni fiksimin plan urbanistik me JavaScript

Sjellja ndarë nga përmbajtja dhe Paraqitjen

Ashtu si ne Prezentimi i ndarë (CSS / XSLT) prej përmbajtjes (XHTML / XML), ne duhet gjithashtu të ndajë Sjellja (Javascript). Kjo quhet Javascript modest. Ashtu si ne lidhje me fotografi të jashtëm CSS, ne duhet të lidhin me fotografi të jashtëm JavaScript.

Në vend të sjelljes së vështirë kodim në përmbajtjen (p.sh. onmouseover, onClick, etj), sjellja duhet të shtohet në mënyrë dinamike të elementeve, të klasave, dhe elemente unike (ID) duke përdorur dom. Dokument themelor, përmbajtjen, duhet të përmbajë vetëm XHTML / XML dhe asnjë JavaScript.
Javascript duhet të shtoj përmbajtjen duke shtuar sjellje. Përmbajtja duhet të mbeten të dobishme dhe përdorshme pa javascript (ose pa mbështetjen e plotë javascript).


2008 15 Mar 2008

Boxes irrituese Zgjidhni dukshme përmes Divizioneve Popup

Në disa raste, duke bërë Layouts faqe me ndarjet Popup / lightboxes / Këshilla etj ndeshemi me situata ku disa objekte Formoni SELECT ndodh të jetë nën këtyre Divizioneve popup, me dashje dhe kjo tregon përmes .... Yuk!

E pra! ju lehtë mund të rregullojmë këtë, duke rregulluar vlerat Z-index tuaja në mënyrë të përshtatshme për FF dhe IE7. Por mirë Vjetër (lojë fjalësh qëllim) IE6 nuk sillet si qëllim .... Emisioni SELECT BOX përmes, edhe pasi që ju aplikoni disa në mënyrë drastike të larta Z-index vlerave të Division tuaj Popup ... zhgënjim!

Nuk ka rregullime për këtë problem, por nuk janë, besoj, më shumë se një mënyrë pak për të punuar rreth këtij problemi, por Im këtu për t'ju thënë zgjidhje të thjeshtë që kam përdorur, i cili punon mirë për mua, në shumicën e raste ....

Msgstr "Fshih Kutin ZGJIDH Rouge kur ju tregoni Popup"

Thjesht në copë tuaj shkrimit ku ju tregoni popup tuaj, shtoni një pjesë e shkrimit për të vendosur dukshmërinë e Kutisë SELECT për të "fshehur"

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

Dhe mbani mend për të vendosur atë përsëri në fund të Divizionit tuaj Popup

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

ku "my_select" është ID e Kutisë acarim SELECT

Hope this helps ...

PS. Ka opsione të tjera si ofcourse dinamike positionining një (madhësia e njëjtë si ju Popup pëlqeu iframe nën DIV Popup ... Kjo punon shumë mirë, por me shtimin e ngarkesa të Elemente DOM, scripts dhe dhimbje koke. Unë kam përdorur këtë zgjidhje shumë, dhe nëse ju keni nevojë për ndonjë ndihmë me këtë opsion, nuk më lejoni të dinë. Do të jetë i gatshëm për ndihmë!


NDK shtëpi | Duke shprehur IT | qiellëz shprehur | Penmenship shprehur | frikë shprehur | shprehur Myself