Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 9 odgovora
  • 3.924 pregleda

Najnovija ↓

JScript muke 15.10.2003. u 13:07 · pre 280 meseci #1
Treba iz JavaScript-a da pozovem komponentu iz DLL-a. Ovo sam uradio na ovaj način:
<html>
<head>
<script ...>
var o = new ActiveXObject("NekiSoft.Bookmarks");
o.Initialize();
..
</script>
</head>
...

A pitanje je sledeće: da li je moguće nekako doturiti ovaj iskreirani objekat (o) drugim HTML stranicama, na koje se stiže preko linkova, ili na koje se šalje sadržaj forme sa ove HTML stranice?
Ako jeste, kako?
Ili se mora pozivati ActiveXObject na svakoj stranici?
Potpis
No signature...
Re: JScript muke 15.10.2003. u 16:45 · pre 280 meseci #2
možeš recimo da napraviš nevidljivi frejm u kome ćeš da čuvaš referencu ka tom activex objektu.

znaš ono, prva stranica ima FRAMESET sa dva frejma, jedan širine/visine 0 (ili 1) pixel, a drugi glavni u kome radiš sve ostalo (ideš kroz stranice) osim što u ovom prvom čuvaš objekte.

jeste hack, ali ja ne znam za bolji način.
Potpis
blogče :: unescaped beta
  »
go-paste extenzija
  »
reč dana: backup
  »
bočne koalicije
Re: JScript muke 16.10.2003. u 10:04 · pre 280 meseci #3
Citat:
-zombie-:
možeš recimo da napraviš nevidljivi frejm u kome ćeš da čuvaš referencu ka tom activex objektu.


Ok, ali kako pristupam objektu iz drugog frejma?
Potpis
No signature...
Re: JScript muke 16.10.2003. u 11:31 · pre 280 meseci #5
Citat:
noviKorisnik:
parent.frames[redni_broj_ili_ime_frejma].id_objekta


Hmm, ovo nisam uspeo da primenim. Pretpostavljam da je problem u tome, što ovaj objekat uopšte nije deo HTML stranice, već se samo generiše u zaglavlju, pozivom funkcije ActiveXObject().

Znači ima dva frejma, levi se zove leftFrame, u njemu stoji:
<html>
<head>
<script ...>
var o = ActiveXObject("NekiSoft.Bookmarks")
o.Initialize(); // ovo dosad radi ok
</script>
</head>
<body> ...

U drugom frejmu (koji se zove rightFrame) sam probao sledeće:
<html>
<head>
<script ...>
document.write( parent.frames[leftFrame].o.GetRootPath() )
</script>
</head>
<body> ...

Pa sam kasnije probao i sa:
document.write( top.leftFrame.o.GetRootPath() )

I nikako mi ne radi (problem nije u ActiveX objektu).
Potpis
No signature...
Re: JScript muke 16.10.2003. u 11:51 · pre 280 meseci #6
... ako smem da malo bodem naslepo, jer već duže nisam JScriptovao ;)

Problem je naći referencu do objekta.

Probaj da instanciraš objekat sa: document.o = ..., pa da ga referenciraš sa: parent.frames[leftFrame].document.o

Bolji predlog je da nađeš prvo na koji način ćeš ga referencirati u dokumentu gde si ga kreirao, pa tek nakon toga rešenje reference primeniš na frejmove. Znači, ako ga u njegovom dokumentu možeš pozvati sa self.document.o trebalo bi da radi onaj gornji predlog, inače neće raditi...

Potpis
BoxUp
interesantna logička igra
Monty Hall paradoks - interaktivni demo
Re: JScript muke 16.10.2003. u 13:28 · pre 280 meseci #7
Citat:
noviKorisnik:
Problem je naći referencu do objekta.


Da li je moguće ubaciti ActiveX objekat između <OBJECT> tagova, recimo:

<object id=id_objekta type="all" declare classid="clsid:EB3A1E33-1830-44C8-A549-0E2527A649E5"></object>

Kako da se ispravno inicijalizuje objekat, da bih imao isti efekat kao sa pozivom ActiveXObject()? Dali se može koristiti PROGID umesto CLSID?
Potpis
No signature...
Re: JScript muke 16.10.2003. u 21:13 · pre 280 meseci #9
Citat:
noviKorisnik:
Probaj da instanciraš objekat sa: document.o = ..., pa da ga referenciraš sa: parent.frames[leftFrame].document.o



da, ovo je dobar način. mada ne mora sa document. može i običa globalna promenjiva u jednom frejmu. npr u nevidljivom frejmu imaš:

Code:

    <script language="JavaScript">
        var globalna_referenca;
        function inicijalizacija() {
            window.globalna_referenca=17; 
            // ili već new ActiveXObject('bla bla..');
        }
    </script>


naravno, pozoveš inicijalizaciju, a iz drugog frejma ovome pristupaš sa recimo:
parent.frames[nevidljivi].globalna_referenca

jednostavno...
Potpis
blogče :: unescaped beta
  »
go-paste extenzija
  »
reč dana: backup
  »
bočne koalicije
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme