2011 18 februára 2011

IE Javascript Chyba: Objekt nepodporuje túto vlastnosť alebo metódu

Mal tento osobitný problém, kde kus Javascript fungovalo vo všetkých prehliadači ANS obvyklé bar IE :) Jednoduché ... to bolo, ale pretože scenár nebol napísaný ma, chvíľu trvalo, k ladenie tejto "Objekt nepodporuje túto vlastnosť alebo metódu" chyba iba IE bolo na zvracanie. Pravdepodobne! Ak by som mal napísať scenár, nebol by som si k tejto chybe vôbec, pretože nemiešajte svoje názvy premenných s IDS pole :).

Problém: Objekt nepodporuje túto vlastnosť alebo metódu (na riadku 3)

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

Riešenie:
Chyba je generovaný na thirdrow vo vyššie uvedenom príklade (linka 3 ... "shortdesc = document.getE ...."). Snažil som sa o všetkých druhoch hlúpe veci, ktoré I dont dokonca stojí za zmienku tu a nakoniec hádajte čo! len zmenou var shortdesc na niečo iné zbavili chyby. V podstate! Názov premennej musel líši od fieldID


2009 24 marec 2009

Je zakázaný = "true" a vypnúť = "false" rovnako?

To ty stará škola, ale ako obvykle je to moja pamäť doplnok ...
Tak je zakázaný = "true" a vypnúť = "false" rovnako? Áno
... Neverte, dobre! to je spôsob, akým je ... tu je nejaké rýchle vysvetlenie ...
"Vypnuté" je atribútom akejkoľvek podobe prvku / odbor, a preto môže prijať žiadnu hodnotu vo svojej podstate.

Tak dlho, ako tento atribút prítomný, prvok zakázaná bez ohľadu na jeho hodnotu. napr pre.
<input value="This je disabled" disabled>
<input value="This je disabled" disabled="disabled">
<input value="This je disabled" disabled="true">
<input value="This je disabled" disabled="false">

Všetky vyššie uvedené bude táto forma pole "Disabled".

Jednoducho neposkytuje atribút "Disabled" drží pole "ABLED" ... rovnako ako nižšie

<input value="This nie je disabled" />

Pamätajte, "Akákoľvek hodnota (alebo žiadnu hodnotu vôbec) postihnutého atribútu, prehliadač vyjadriť to zakázané". Aby sa veci jasno v našich mysliach W3C odporúča, aby používame vypnuté = "vypnúť" v týchto situáciách.

To je rozdiel keď keď použijeme tento atribút v javascriptu ...

document.form.element.disabled = true; / / prvok bude zakázaný
document.form.element.disabled = false, / / prvok bude povolený

Vyššie uvedené argumenty platia aj pre tieto atribúty a ich častí:

  • skontrolovať (rádio tlačidlá a zaškrtávacie políčko)
  • vybrané (na želanie)
  • nowrap (td)

2009 07.03.2009

Volanie viac okien onload funkcie v JavaScriptu

Tu je ďalší malý peice z podvodu JavaScriptu, ktoré som musel kopať okolo, pretože situácia commaned to. V jednom z mojich webových stránok, mal som túto situáciu, kedy som musel vykonávať "windows.onload" dvakrát. Prvá vec, ktorá by prišla do pamäte, neskúsený ako ja (Musím úprimne povedať, že od tej doby som sa pomocou JavaScriptu rámcov a knižnice, som forgotton robiť jednoduché veci na vlastnú päsť ... smutné, ale pravda), je táto metóda ...

 window.onload = onloadfn1;
 window.onload = onloadfn2;
 window.onload = onloadfn3;
 atď ..

Ospravedlňujeme sa, ale na, zvyknutý túto prácu ... nechcem diskutovať o vykonaní vedu Javascript moc ... ale podľa mojej nedávnej skúsenosti, (onloadfn3) len posledný funkcie zle vlastne vykonaný.

V normálnych situáciách, na rozdiel od bane (čo budem hovoriť o niečo neskôr) ... môžete urobiť jednu z nasledujúcich možností na vykonanie zahŕňa viac onload funkcie ....

Alebo niečo také

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

Pre moje súčasnej situácii, nemôžem použiť niektorý z vyššie uvedených ...
Prečo musím zavolať windows.onload dvakrát, skôr to, že volanie dve funkcie v jednom onload funkcie? Tu je rýchly pohľad na môj problém vyhlásenie ...

"Moje stránok stránky sú štruktúrované ako WordPress Téma .... teda existuje spoločný Header.php a Footer.php, ktorý sa zaradené do všetkých stránok stránkach. K dispozícii je funkcia onload implementaion v Footer.php urobiť nejaké spoločné onload funkcie. A existuje niekoľko stránok, ktoré je potrebné niečo vlastného onload, na rozdiel od tých, ktoré uskutočňuje spoločné onload funkcie. Keby som priradiť funkciu spätného volania priamo na window.onload psovoda, bude to cez-jet skôr pridelené spätné volania v Footer.php "

.... Je to môj problém chápať :) ?

No! existuje niekoľko riešení, ktoré som nájsť. Všetci sú si veľmi podobné a hlavne implementions roztoku danej Simon Willison ods http://simonwillison.net/2004/May/26/addLoadEvent/ ) ...

Riešenie:

Stačí pridať tento kód javascript na stránky ...

 Funkcia addLoadEvent (func) {
     var oldonload = window.onload;
     if (typeof window.onload! = "funkcia") {
        window.onload = funkcie
     Else {}
        window.onload = function () {
            if (oldonload) {
                   oldonload ()
           }
           funkcie ()
        }
    }
 }

A volať to miesto obvyklého "windows.onload"

 addLoadEvent (FunctionToRunOnPageLoad);
 addLoadEvent (function () {
 / * Viac spustenie kódu na * načítaní stránky
 }); 

Výhody tohto fragmentu kódu ...
1. V prvom rade, to vám umožní mať viac windows.onload udalosti, volal z oddelených častí kódu, bez toho, aby overridding predchádzajúcej definícii
2. Je to naozaj decentné. To môže byť umiestnená v súbore s vašimi ostatnými skripty alebo v samostatnom súbore.
3. Funguje to aj v prípade, že window.onload už nastavený.


2008 25 december 2008

Nahrávám JavaScripty Dynamicky

Niekedy, aby pageweight dole ... sme rozdelili naše skripty na kúsky ... Tieto fragmenty javascriptu možné načítať podľa potreby (na udalosti alebo kliknutím na odkaz alebo tlačidlo pod.)

Nahrávám JavaScripty dynamicky je jednoduchá a docela rovno vpred nižšie ...

= “text/javascript” > <script Type = "text / javascript">
Funkcia loadNewScript (zdroj) {
var s = document.createElement ('script');
s.setAttribute ("typ", "text / javascript");
s.setAttribute ("src", zdroj);
document.body.appendChild (y);
}
</ Script>

a môžete mať nasledujúci odkaz hovoru kdekoľvek v tele, alebo môžete mať tento skript "onLoad" dokumentu samotného ...

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

alebo

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


2008 03.10.2008

Jednoduchý, ľahký, kríž prehliadač Lightbox pre vaše webové stránky

Nie že by to sú len niektoré Lightbox je, že môžete nájsť, keď Google. Problém s väčšinou lightboxu, že som zistil, bolo, že sa všetko zdalo sa použiť jeden alebo inej ťažkej váhy rámcov JavaScriptu ako jQuery, Prototype MooTools a rád. Všetci sú cool a elegantný hľadáte. Ale Pokiaľ váš požiadavku "Ale ja chcem, jednoduchý a ĽAHKÝ lightbox SCRIPT svojich webových stránok", potom tu je;

Niektoré pekné črty tohto Obľúbených

  1. Veľmi ľahká
    . 4 kB skriptov pri balení (8 kB bez obalu)
    b. 2 kb CSS
    c. Pár riadkov HTML pre lightboxu kontajnera
  2. Jednoduché pochopiť a realizovať
  3. Môže mať viac lightbox na rovnakej stránke.
  4. Rovnaký Obľúbených kontajner sa používa na zobrazenie, iný obsah, ktorý je zahrnutý ako samostatne skrytých oddielov na stránke) v závislosti na odkaz / option, ktorý je klikli.
  5. Automaticky sa centra, pričom do úvahy všetky faktory, ako sú okná výšky a šírky (rozlíšenie monitora), str vyhľadajte množstvo a na výšku obsahu Obľúbených
  6. Testované v IE 7 a FF

Zobraziť Demo |
Stiahnuť Lightbox Zdroj Zip (Stiahnuté 1801 krát)


Použitie Lightbox [súbory v zip súboru]

jo.js a jo_pack.js [zabalené verzia]: - jednoduchý súbor JavaScript OBJEKTOV [JO], ktorý obsahuje prvok, okná a skripty dokumentov polohy. Môžete otvoriť JO.JS, ak chcete, aby vaše špinavé ruky s nejakým pokročilým Javascripting, vytvárať abstraktné funkcie, rozšírenie prvkov vlastnosti a podobne. Ak nemáte príliš v Javascripting, nechá to byť.

lightbox.js, lightbox_pack.js [zbalil verzia] - Obsahuje ľahké skripty okne Správca. Ak ste návrhár stránky, taktiež zodpovedá s vykonávaním lightbox na stránke, musíte pochopiť LightBoxManager. LightBoxManager podstate obsahuje len dve funkcie showLightBox a closeLightBox.

lightbox.css: - Ak viete, CSS, môžete sa pohrať s lightbox.css upraviť vzhľad-n-cítiť lightbox.css

index.html: Ukážka implementácie Obľúbených s dvoma rôznym obsahom

lb_underlay_bkg.png: - To je svetlo / simi transparentný obraz, ktorý sa používa ako podklad pre podloženie lightboxu [podložka sa vrstva pod lighbox, ktorá zabraňuje užívateľovi kliknutím na akýkoľvek iný subjekt na stránke, zatiaľ čo Schránka je otvorená]. Môžete použiť ľubovoľný obrázok, alebo dokonca plná farba pre tento účel, v závislosti na vzhľad stránky a požiadavky.

icon_lb_close.gif: - obrázok pre EL páky na pravej hornej časti svetelného poľa. Možno použiť akýkoľvek obrázok podľa návrhu

Zobraziť Demo |
Stiahnuť Lightbox Zdroj Zip (Stiahnuté 1801 krát)

Prosím, dajte nám majú svoje pripomienky a reakcie ...


2008 13 septembra 2008

JavaScript: Upraviť webová stránka v prehliadači

No, musím povedať, že nie je tak užitočné kus vedy, ale ak ste webový vývojár, môže prísť vhod, jedného dňa (alebo bude?). Tu je malá bookmarklet, ktorý umožňuje upravovať webové stránky pre všetky stránky.
A bohužiaľ! Môžete si uložiť výsledky na vašom lokálnom počítači iba.

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


2008 02.09.2008

CSS hack: Javascript, CSS, HTML len pre Firefox

Mnoho krát cítime potrebu písať prehliadača specfic hacky (aj keď to nie je dobré praxe, sme UI vývojári sa musia uchyľovať k takýmto zlom až do veľkej vojny prehliadačov je k prímerie). Predtým som sa zmienil v tomto článku Pre vaše IES Iba , ako napísať úryvok CSS, ktorá by bola viditeľná pre IE prehliadača <IE7 iba.

Včera som mal prípad, keď som chcel napísať nejaký konkrétny FireFox CSS úryvky. No! Nie som si istý, či je kód CSS pre toto, ale tam je HTML. Tú však jeden háčik však tento kus HTML doesnot prejdú overením HTML. Ale anywaz! Ak sa lepí zle alebo ako taký, nemá pozdravy pre validáciu (niekedy musíme byť krutí), môžete použiť nasledujúce vyhlásiť odkaz na FF iba štýlom, alebo aj len kódovanie CSS v rámci tohto bloku. Kód

<comment> Dajte si FireFox iba HTML / CSS / scripts tu </ komentár>

napr
<comment>
<style>
/ * Štýl pre FF iba * /
fieldset {border: 1px solid # dddddd;}
</ Div>
</ Comment>

I "m šťastný za chvíľu ...


2008 01.09.2008

Odstrániť určité položky z poľa javascript, ktorý zodpovedá prešiel reťazec

Tu je rýchly spôsob, ako rozšíriť pôvodnú Javascript Array objekt, stačí k tomu, že ...

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

Takže teraz môžete urobiť niečo také ...

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

Teraz zvierat pole bude obsahovať "pes", "lev", "mačka", "slon";

PS: A tu je String trim prototyp príliš ...

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


Vychutnajte si ....


2008 15.května 2008

Best Practices: Práca s JavaScript je

Zahŕňať JavaScript je v spodnej časti dokumentu HTML

Ak nemáte document.write (alebo dynamické generovanie obsahu stránky pomocou Java Scripts) vložiť časť stránky obsahu vo svojich skriptoch, presuňte skript obsahovať vyhlásenie v dolnej časti stránky, pred koncom značky BODY.
HTTP/1.1 špecifikácia vyplýva, že prehliadače stiahnuť viac ako dva komponenty paralelne za hostname. Ak máte slúžiť svoje fotografie z rôznych hostiteľov, môžete získať viac ako dva stiahnutie nastať súčasne. Kým skript je sťahovanie, však prehliadač nemožno spustiť žiadne ďalšie sťahovania, a to aj na rôznych hostiteľov.
Tam sú tiež spôsoby, ako dynamicky sa Vytvoriť skript uzly a načítať vzdialené skripty po načítaní stránky pomocou AJAX.

Externalizovať vám JavaScript je

Použitie externých súborov JavaScript bude mať za následok rýchlejšie načítanie stránok, pretože JavaScript súbory vyrovnávacej pamäte prehliadača. Inline JavaScript je "v dokumentoch HTML si stiahnuť každom HTML dokumente sa požaduje. To by v skutočnosti mohli znížiť počet HTTP požiadaviek vyrobených ale následne sa zväčší veľkosť dokumentu HTML. Externý JavaScript je byť vyrovnávacej pamäte prehliadača, veľkosť dokumentu HTML je znížená bez zvýšenia počtu HTTP požiadaviek.
Vezmite prosím na vedomie, že ak užívatelia na svojich stránkach majú viac zobrazení stránky na zasadnutí a mnoho z vašich stránok znova použiť rovnaké skripty a štýly, tam je väčší potenciálny prínos z externých súborov uložených vo vyrovnávacej pamäti.

Zbaľte si súborov JavaScript

V prípade JavaScripty, na rozdiel od CSS, môže súbory drvené pomocou niektoré štandardné algoritmy, ktoré by dali zníženú veľkosť súboru než len odstránenie medzery alebo tabulátory. Príkladom javascript baliarne nájdete tu http://dean.edwards.name/packer/

Zbavte sa duplicitné skriptov

Je veľmi neobvyklé, že celé skripty môžu byť duplikované, ale prehľad desiatich najlepších amerických internetových stránok ukazuje, že dva z nich obsahujú duplicitné skript. Duplicitné skripty ale samozrejme znižuje výkon o vytváranie zbytočných HTTP požiadavky a zbytočne spúšťanie JavaScriptu.
Aj v mnohých prípadoch, aj keď dávkové názvy sú rôzne, existuje pravdepodobnosť duplicitných skriptov v rámci rovnakej stránke kvôli tímovej veľkosti a počtu skriptov.

Minimalizovať prístup DOM prvky kde je to možné

Prístup k DOM elementy pomocou JavaScriptu je pomaly tak, aby mala viac citlivejší stránku, mali by ste:
• Cache odkazy na prvky prístupné
• Update uzly "offline" a potom ich pridajte do stromu
• Vyhnite sa ktorým sa rozloženie pomocou JavaScriptu

Samostatné správanie od obsahu a prezentácie

Rovnako ako sme samostatné prezentácie (CSS / XSLT) od obsahu (XHTML / XML), mali by sme tiež oddeliť správanie (JavaScript). To sa nazýva nenápadný Javascript. Rovnako ako sme odkaz na externých CSS súborov, mali by sme sa odkaz na externých súborov JavaScript.

Miesto tvrdého kódovania správanie do obsahu (napr. onmouseover, onclick, atď), by správanie môže byť dynamicky pridávané do prvky, tried a unikátnych prvkov (IDS), pomocou DOM. Základný dokument, ktorého obsah by mal obsahovať iba platný XHTML / XML a žiadnu javascript.
Javascript musí rozšíriť pridaním obsahu správania. Obsah by mal aj naďalej užitočné a použiteľné bez JavaScriptu (alebo bez plnou podporou JavaScriptu).


2008 15 marec 2008

Dráždivé Vyberte Krabica viditeľná Popup divízií

Na niekoľkých príležitostiach, zatiaľ čo robí rozvrhnutie stránok s vyskakovacie divíziou Lightbox / etc / Tipy dostávame do situácií, keď niektoré formulári vyberte objekty sa stane, že na základe týchto POPUP divízie, a to podľa návrhu presvitá .... Yuk!

No! môžete ľahko opraviť tým, že nastaví svoje Z-INDEX hodnoty primerane pre FF a IE7. Ale dobrý starý (slovná hračka určená) IE6 sa nespráva ako má .... SELECT BOX presvitať, a to aj po inštalácii niektoré výrazne vysoké hodnoty Z-INDEX na váš PopUp divízie ... Bummer!!

Tam sú NO OPRAVY tohto problému, ale tam sú, myslím, viac než pár spôsob obídenia tohto problému, ale im tu, aby som vám čo najjednoduchšie riešenie, ktoré ju používam, ktorý pracuje dobre pre mňa, vo väčšine prípadov ....

"Skryť ROUGE okne Vybrať KEĎ ZOBRAZIŤ POPUP"

Jednoducho v skripte úryvku, kde môžete ukázať svoje okno, pridajte kúsok skriptu nastaviť viditeľnosť SELECT políčko "Skrytý"

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

A nezabudnite nastaviť späť na sklonku svojho PopUp divízie

. Document.getElementById ('my_select ") style.visibilty =" viditeľné ";

kde "my_select" je ID podráždenie okne Vybrať

Dúfam, že to pomôže ...

PS. Samozrejme existujú aj iné možnosti, ako je dynamicky positionining IFRAME (rovnaký rozmer ako ste popup) pod Popup DIV ... To dobre funguje taky, ale s prídavkom zaťaženia DOM elementov, Skripty a bolesť hlavy. Použil som toto riešenie príliš, a keď potrebujeme pomôcť s touto voľbou, dajte mi vedieť. Vám radi pomôžeme!


NDK domov | Vyjadrenie IT | Vyjadrenie poschodia | Vyjadrenie Penmenship | Vyjadrenie Awe | Vyjadrenie Myself