/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Firefox: Permission denied til HTMLDocumen~
Fra : Jens Gyldenkærne Cla~


Dato : 24-04-05 00:56

Hjælp. Jeg er stødt på en irriterende og besværlig fejlmeddelelse
(fra Firefox's javascriptkonsol):

Error: uncaught exception: Permission denied to get property
HTMLDocument.forms

Fejlen opstår når jeg via et script i et pop op-vindue forsøger at
opdatere et felt på en form i opener-vinduet. Det har tidligere
virket i Firefox, og det virker stadig i Mozilla 1.8b (men ikke i
Opera 8).

Jeg kan desværre ikke linke direkte til siden (da den er beskyttet
af login), men jeg vil prøve at få en eksempelside op at køre.

Men den kode der skulle opdatere hovedsiden, ser sådan her ud:

<script type="text/javascript">
window.opener.document.forms[0].elements["releaseDato"].value =
'20-04-2005';window.close();
</script>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

 
 
Johnny Winther Ronne~ (24-04-2005)
Kommentar
Fra : Johnny Winther Ronne~


Dato : 24-04-05 14:21


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns96421399518AEjcdmfdk@gyrosmod.cybercity.dk...
> Hjælp. Jeg er stødt på en irriterende og besværlig fejlmeddelelse
> (fra Firefox's javascriptkonsol):
>
> Error: uncaught exception: Permission denied to get property
> HTMLDocument.forms
>
> Fejlen opstår når jeg via et script i et pop op-vindue forsøger at
> opdatere et felt på en form i opener-vinduet. Det har tidligere
> virket i Firefox, og det virker stadig i Mozilla 1.8b (men ikke i
> Opera 8).
>
> Jeg kan desværre ikke linke direkte til siden (da den er beskyttet
> af login), men jeg vil prøve at få en eksempelside op at køre.
>
> Men den kode der skulle opdatere hovedsiden, ser sådan her ud:
>
> <script type="text/javascript">
> window.opener.document.forms[0].elements["releaseDato"].value =
> '20-04-2005';window.close();
> </script>

Du har vel slået JavaScript fra

En mulig løsning kunne været at prøve parent.document.forms[0]....

Parent er en gyldig property på windowsobjektet og refererer ikke kun til et
rammesæt. selv om det er der man normalt bruger den.

Umiddelbart lyder fejlmeddelensen underlig, kan der være et reultat af at du
forsøger at adressere et vindue, der slet ikke er der? Forstået sådan at
opener peger på noget "forkert". Hvordan det skulle kunne lade sig gøre, har
jeg ingen ide om, da opener netop er en explicit pointer sådan som jeg læser
beskrivelsen af den property.

Med venlig hilsen
Johnny Winther Ronnenberg



Jens Gyldenkærne Cla~ (24-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 24-04-05 21:13

Johnny Winther Ronnenberg skrev:

>> Jeg kan desværre ikke linke direkte til siden (da den er
>> beskyttet af login), men jeg vil prøve at få en eksempelside
>> op at køre.

Nu fik jeg en - hvor det så virker fint i mine browsere. Men hvis
nogen her i gruppen lige vil tjekke om det også virker for dem, vil
jeg være meget taknemmelig.

<http://gyros.dk/usenet/js/form_js.html>


> Du har vel slået JavaScript fra

Hø - nej.


> Parent er en gyldig property på windowsobjektet og refererer
> ikke kun til et rammesæt. selv om det er der man normalt
> bruger den.

Det kunne være en ide. Foreløbig har jeg mistanken rettet mod at
jeg lagde javascriptet ud i en funktion i går (hvor det ellers
havde ligget direkte i onclick-koden).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Tomasz Otap (24-04-2005)
Kommentar
Fra : Tomasz Otap


Dato : 24-04-05 21:34

Jens Gyldenkærne Clausen wrote:
> Nu fik jeg en - hvor det så virker fint i mine browsere. Men hvis
> nogen her i gruppen lige vil tjekke om det også virker for dem, vil
> jeg være meget taknemmelig.

Hej Jens - din testside det virker fint i min FF og IE.

Mht den oprindelige side: ligger både pop-up vinduet og opener-vinduet i
samme domæne? Ellers kan det være, du løber ind FFs indbyggede
sikkerhedsbeskyttelse mod cross-site scripting.

Nogle posteringer på nettet tyder også på, at samme problem kan opstå,
hvis man tilgår sin lokalserver med http://localhost frem for ip-adresse
eller domænenavn.

t

Jens Gyldenkærne Cla~ (24-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 24-04-05 22:09

Tomasz Otap skrev:

> Hej Jens - din testside det virker fint i min FF og IE.

Tak for afprøvningen.

> Mht den oprindelige side: ligger både pop-up vinduet og
> opener-vinduet i samme domæne? Ellers kan det være, du løber
> ind FFs indbyggede sikkerhedsbeskyttelse mod cross-site
> scripting.

Det var netop det der var problemet - jf. mit svar til Lasse.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Tomasz Otap (24-04-2005)
Kommentar
Fra : Tomasz Otap


Dato : 24-04-05 22:31

Jens Gyldenkærne Clausen wrote:
>>Mht den oprindelige side: ligger både pop-up vinduet og
>>opener-vinduet i samme domæne? Ellers kan det være, du løber
>>ind FFs indbyggede sikkerhedsbeskyttelse mod cross-site
>>scripting.
>
>
> Det var netop det der var problemet - jf. mit svar til Lasse.

Ja, jeg lagde mærke til det, men desværre lige et minut efter jeg sendte
mit eget svar. :)

t

Lasse Reichstein Nie~ (24-04-2005)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 24-04-05 20:34

Jens Gyldenkærne Clausen <jens@gyros.invalid> writes:

> Hjælp. Jeg er stødt på en irriterende og besværlig fejlmeddelelse
> (fra Firefox's javascriptkonsol):
>
> Error: uncaught exception: Permission denied to get property
> HTMLDocument.forms

Lad os antage at det er en irriterende og besværlig fejl der er skyld
i den :)

> Fejlen opstår når jeg via et script i et pop op-vindue forsøger at
> opdatere et felt på en form i opener-vinduet. Det har tidligere
> virket i Firefox, og det virker stadig i Mozilla 1.8b (men ikke i
> Opera 8).

Og hvilken fejlbesked giver Opera 8?

> Jeg kan desværre ikke linke direkte til siden (da den er beskyttet
> af login), men jeg vil prøve at få en eksempelside op at køre.

God ide. Indtil da er det lidt svært at afprøve.

> <script type="text/javascript">
> window.opener.document.forms[0].elements["releaseDato"].value =
> '20-04-2005';window.close();

Og fejlbeskrivelsen siger at du ikke har rettighed til at læse
forms-egenskabet på dokumentet. Det lyder mest som om de to sider
ligger på forskellige domæner, og det er beskyttelsen mod
"cross-domain scripting" der slår til.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jens Gyldenkærne Cla~ (24-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 24-04-05 21:27

Lasse Reichstein Nielsen skrev:

> Og hvilken fejlbesked giver Opera 8?

Hvor ser jeg javascriptfejlmeddelelser i Opera? Jeg kunne ikke se
nogen fejlnotits i går - siden fungerede bare ikke (kalenderen
forblev åben og datoen blev ikke overført).


> Og fejlbeskrivelsen siger at du ikke har rettighed til at læse
> forms-egenskabet på dokumentet. Det lyder mest som om de to
> sider ligger på forskellige domæner, og det er beskyttelsen
> mod "cross-domain scripting" der slår til.

Heureka! - det er sandsynligvis netop det der er problemet. De to
sider ligger på samme server (godt nok adskilt af et mappeniveau),
men jeg kan se at kalendersiden har været kaldt uden www, mens
hovedsiden normalt kaldes med www. Det forklarer også hvorfor siden
nogle gange virkede - det har været de gange hvor man har kaldt
begge sider uden www.

Det er bare irriterende at man ikke kan få en bedre fejlmeddelelse
fra browseren - det burde da være simpelt at nævne cross domain
scripting som en mulig årsag.

Tusind tak for hjælpen.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Lasse Reichstein Nie~ (24-04-2005)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 24-04-05 23:50

Jens Gyldenkærne Clausen <jens@gyros.invalid> writes:

> Lasse Reichstein Nielsen skrev:
>
>> Og hvilken fejlbesked giver Opera 8?
>
> Hvor ser jeg javascriptfejlmeddelelser i Opera?

Tools > Advanced > Javascript console

Held og lykke :)
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jens Gyldenkærne Cla~ (25-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 25-04-05 09:44

Lasse Reichstein Nielsen skrev:

> Tools > Advanced > Javascript console

Tak igen. Jeg skulle lige afprøve hvad Opera så gav af informationer:

[url - klippet væk]
Inline script thread
Error:
name: ReferenceError
message: Security error: attempted to read protected variable

Ikke tosset, point til Opera. Men er der ikke en tastaturgenvej til
konsollen? Opera plejer at have tastaturgenveje til (næsten) alt - hvad
jeg er særdeles glad for. Men jeg kan ikke finde nogen genvej til
javascriptkonsollen. Indtil videre jeg har bare bedt browseren om at
åbne konsollen ved fejl - det fungerer fint nok fordi Opera ikke er min
primære browser.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177495
Tips : 31968
Nyheder : 719565
Indlæg : 6408489
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste