tidliibums ([info]tidliibums) rakstīja [info]koderi kopienā,
@ 2005-04-26 15:24:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
biki no DHTML
Vai kāds nevar ieteikt kādu labu/vienkāršu veidu, kā tikt galā ar sekojošo:

ar javascript tiek taisīts vaļā logs, un tajā ielādēts kaut kāds html:

w = window.open("secondfile.html");

Un tālāk gribas caur DOM pamanipulēt tā loga saturu, darīt kaut ko tādu kā

w.document.getElementById("elementToChange").style.visibility = "hidden";

Bet problēma ir tā, ka tās otrās komandas izpildes brīdī lapa var vēl nebūt paspējusi līdz galam ielādēties, un attiecīgi DOMs var nebūt vēl uzbūvēts.

Vai varat ieteikt kādu labu veidu, kā "sagaidīt" lapas ielādēšanos? Vēlams tādu, kurā nevajadzētu aiztikt secondfile.html (likt tajā skriptus).


(Lasīt komentārus) - (Ierakstīt jaunu komentāru)

Re: interpretējamās valodas un blackout-i :)
[info]tidliibums
2005-04-27 01:21 (saite)
Nu jā, apmēram tā (vienīgi tas new Window() bik citādi laikam jāraksta, jo Window nav JS core object).

--f1.html--
...
function o(){ alert('hi!'); }
function f(){ w = window.open("f2.html"); w.onload = o; }
...
<a href="javascript: f();">click me!</a>
...
---
Šis pasākums uz FF un Operas izmet to alert, bet uz IE otrs logs atveras, bet alerta nav (un arī nekādas kļūdas nav).

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)

Re: interpretējamās valodas un blackout-i :)
[info]grrr
2005-04-27 08:17 (saite)

Cik atceros FF un IE bija savādāki eventu nosaukumi.

Tātad, w.onload = ... vietā kaut kas cits.

(Atbildēt uz šo) (Iepriekšējais) (Diskusija)

mistērija turpinās
[info]tidliibums
2005-04-27 20:08 (saite)
Tas būtu pārāk vienkārši. onload arī priekš IE ir pareizi, un savā logā arī lieliski strādā, tikai cross-window gadījumā pazūd bez vēsts.

Labi cilvēki kā alternatīvo risinājumu ieteica skatīties w.document.readyState, laikam pagaidām būs jāpaliek pie tā.

(Atbildēt uz šo) (Iepriekšējais)


(Lasīt komentārus) -

Neesi iežurnalējies. Iežurnalēties?