JS IFrame en location.href

Pagina: 1
Acties:

  • DukeMan
  • Registratie: Mei 2000
  • Niet online
Ik heb een pagina met daarin een iframe.
binnen deze iframe kunnen verschillende pagina's staan en ik weet niet welke. Graag zou ik dus de lokatie uitlezen via location.href, maar ik krijg hier een access denied op.

Ik weet dat je gegevens uit een ander domein niet kan lezen, maar dat iframe staat gewoon op mijn pagina. waarom krijg ik dan een access denied?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

P&W -> W&G

  • DukeMan
  • Registratie: Mei 2000
  • Niet online
excuses verkeerd forum... mag gekilled worden.. :'(

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Deze staat goed hoor :)

  • DukeMan
  • Registratie: Mei 2000
  • Niet online
oh dan had je hem al verplaats zekerz.....

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 12 april 2002 21:07 schreef NTGiant het volgende:
oh dan had je hem al verplaats zekerz.....
Dat klopt :)

  • DukeMan
  • Registratie: Mei 2000
  • Niet online
ik krijg hem wel nog onder W&G te zien... en niet onder p&w

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 12 april 2002 21:10 schreef NTGiant het volgende:
ik krijg hem wel nog onder W&G te zien... en niet onder p&w
En DAT klopt.

  • DukeMan
  • Registratie: Mei 2000
  • Niet online
klopt mijn foutje, ik zit te slapen.... sorry

Verwijderd

kan niet.
Moet in dezelfde server staan.

Vnawege veiligheid enzo

  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 23-08 22:18

Dark Blue

Compositionista!

Alpenmeisje

Lees ik het goed?
Dus als je een iframe op je site plant, en je bouwt daar een mooie layout om heen, kan je als source niet de pagina van je tante uit Alaska opgeven, omdat dit middels veiligheid niet mag/kan?

Iemand uitleg?

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs


Verwijderd

Op vrijdag 12 april 2002 21:32 schreef Dark Blue het volgende:
Lees ik het goed?
Dus als je een iframe op je site plant, en je bouwt daar een mooie layout om heen, kan je als source niet de pagina van je tante uit Alaska opgeven, omdat dit middels veiligheid niet mag/kan?

Iemand uitleg?
nee
je kan de inhoud van die iframe niet aanpassen..
de rest uiteraard wel..

  • DukeMan
  • Registratie: Mei 2000
  • Niet online
Maar ik wil helemaal niets aanpassen, alleen de huidige lokatie opvragen!!! meer niet.... die wil ik dan namelijk boven het frame weergeven...

Verwijderd

waarom pleur je em in een iframe als die op je eigenn server staat !?

  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 23-08 22:18

Dark Blue

Compositionista!

Alpenmeisje

Misschien omdat hij een frames indeling met iframes heeft... en een niet aan Netscape denkt die zoiets niet wil weergeven? (tenminste de versies die ik ken)

Nou even antwoord op je vraag, Giant... er moet toch met javascript wel een middel zijn om van je iframe, dat een naam heeft, de source op dát moment uit te lezen?

Dat moet kunnen... aangezien Google het ook kan als je images.google.com kiest. Als je dan op een plaatje klikt, kan hij ook de page terugvinden waar het op staat en die er in een linkje boven zetten. Of is dit nou het omgekeerde principe?

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs


Verwijderd

Met JS kun je nooit de source uitlezen.
Hoogstens de innerhtml.

Als je nou met PHP o.i.d zou gaan werken zou dat idd wel kunnen.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Het komt er op neer dat je vanuit je eigen pagina een andere pagina in een (i)frame kan laden en daarna vrolijk de code uitlezen of bijv. image-objecten aanspreken voor een mouseover-tje in het andere frame.
Maar dat is alleen mogelijk als de pagina's binnen hetzelfde domein zitten (en dus niet perse op dezelfde server). Je kan geen objecten van een ander domein aanspreken.

Dus je kan wel een andere pagina toewijzen aan een frame. Het frame/window object ligt namelijk binnen jouw domein (lees: de frameset is gedefinieerd in jouw pagina), maar je kan niet objecten binnen die pagina uitlezen. Deze liggen binnen het andere domein (lees: deze worden gedefinieerd in het bestand wat op het andere domein ligt).

* Annie hoopt dat het verhaaltje een heel klein beetje duidelijk is (ik vrees van niet)

Today's subliminal thought is:


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Op vrijdag 12 april 2002 21:37 schreef NTGiant het volgende:
Maar ik wil helemaal niets aanpassen, alleen de huidige lokatie opvragen!!! meer niet.... die wil ik dan namelijk boven het frame weergeven...
En dat mag dus ook niet. meer info

Today's subliminal thought is:


  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 23-08 22:18

Dark Blue

Compositionista!

Alpenmeisje

Hoe wordt die page dan ooit in dat i-frame geladen? Middels een linkje toch neem ik aan? Nou, plemp gewoon de url van dat linkje boven je iframe...
...moeilijker wordt het, als er op die page externe links staan waar je op klikt... maar ook dat lijkt me, gewoon het linkje waar je op dat moment op klikt, hup zet het in een variabele en als die variabele verandert, pleur hem dan opnieuw boven het iframe.

Probleem is als je onbekende sites in een iframe gaat laden. Die kunnen nog wel eens een link hebben die in een extern frame opent, of in een popup. Weet jij veel. En dan gaat jouw hele functie van dat iframe verloren.

I wonder, waar gebruik je het eigenlijk voor? :)

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs


  • DeTeraarist
  • Registratie: November 2000
  • Laatst online: 25-08 11:32

DeTeraarist

#Boots2Asses

Op vrijdag 12 april 2002 21:37 schreef NTGiant het volgende:
Maar ik wil helemaal niets aanpassen, alleen de huidige lokatie opvragen!!! meer niet.... die wil ik dan namelijk boven het frame weergeven...
Als ik het goed begrijp, wil je gewoon de URL van de I-Frame?

Das toch gewoon document.getElementById('frameid').src of document.getElementsByName('framename').src :?

Of zit ik nou te slapen?

Soms, als ik heel stil ben, kan ik de zon horen schijnen


  • DukeMan
  • Registratie: Mei 2000
  • Niet online
Ik zal het effe een beetje uitleggen.

Ik heb een pagina gemaakt met aan de linkerkant allerlei links en aan de rechter kant een iframe. Als je links op een link klikt wordt die in het iframe geladen. Maar mensen kunnen vanuit het iframe ook naar andere pagina's springen (binnen hetzelfde iframe), niet op mijn server, of zelfs binnen een heel ander domein.
Tevens heb ik boven het iframe een div-tag staan waar ik het adres inzet als ze op een link (aan de linkerkant) klikken. Nou wil ik dus dat wanneer ze binnen het iframe een link naar een andere pagina klikken dat dat adres in die div komt te staan.

Het is bedoelt als een soort active desktop binnen mijn bedrijf. Bij de links aan de linkerkant zitten namelijk ook programma's die ik weer via een ocx start. En zou kunnen ze dus via de desktop al pagina's bezoeken (bv standaard het intranet) zonder dat ze een browser hoeven te openen.

Maar volgens mij is dat dus niet mogelijk??? erg balen...

  • DukeMan
  • Registratie: Mei 2000
  • Niet online
Op zaterdag 13 april 2002 02:27 schreef DeTeraarist het volgende:

Das toch gewoon document.getElementsByName('framename').src :?
Hier krijg ik ook een Permission Denied op.

  • DukeMan
  • Registratie: Mei 2000
  • Niet online
zelfs als ik het volgende wil doen krijg ik al permission denied:
code:
1
iframe.onreadystatechange=updateLocation;

ik heb er op dat moment nog geen url naar toe gezonden (via iframe.location.href = "". updateLocation bevat alleen maar even een alert om te testen...

enig idee hoe dat kan?

  • DukeMan
  • Registratie: Mei 2000
  • Niet online
heeft niemend een idee????

Verwijderd

Kunt wel Iframe beinvloeden. Kunt tegenwoordig bijvoorbeeld in IE div'jes over zo'n iframe leggen. Daarmee is het mogelijk bepaalde gedeelten te veranderen van de layout of alleen een klein stukje laten zien. Probleem is wel dat je nooit zeker weet met externe pagina's hoe ze zijn opgemaakt. Daardoor kan via een link in het Iframe je complete site verdwijnen. Het is ook mogelijk zonder Iframe een nieuwe pagina zonder frames te laden (Amazing Frameless Popup Window - Version I). Wellicht is dat een idee. Maak moet je wel je focus in de gaten houden.

  • Xlnt
  • Registratie: Oktober 2000
  • Laatst online: 18-08 08:11
http://msdn.microsoft.com/workshop/author/om/xframe_scripting_security.asp:
iframe | src property can be set to navigate, but cannot be read.

Scripts that attempt to access parts of the object model to which they do not have access are blocked with a "permission denied" error.
Dit is dus wel mogelijk:
Maar mensen kunnen vanuit het iframe ook naar andere pagina's springen (binnen hetzelfde iframe), niet op mijn server, of zelfs binnen een heel ander domein.
Dit niet zomaar:
Nou wil ik dus dat wanneer ze binnen het iframe een link naar een andere pagina klikken dat dat adres in die div komt te staan.
Maar het gaat wel:
code:
1
2
3
4
5
6
7
8
9
10
<script>
   //script uitvoeren ná het laden van de body
   var colLinks = document.getElementsByTagName('a');
   for (nmbIndex = 0; nmbIndex < colLinks.length; nmbIndex++) {
    colLinks[nmbIndex].onclick = function () {
       document.getElementById('addressbar').value = this.href;
       //wel eerst bv. een input type="text" met id="addressbar" maken
    }
   }
</script>

Nadeel is dat het script alléén werkt voor het a-object.

Ik kan overigens wel de src-property uitlezen. Alleen is het steeds de waarde van het brondocument. Ligt mischien aan mijn instellingen.

Kijk voor een werkend exemplaar op:
http://members.home.nl/xlnt/test/iframe.htm

[ Voor 5% gewijzigd door Xlnt op 10-01-2006 22:58 ]

"It's not that I'm lazy. It's that I just don't care."


  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
^ 'werkend voorbeeldje' werkt niet meer als je op google op een link klikt, want dan blijft ie gewoon 'www.google.com' alerten.

Ik heb ook even zitten klooien, maar krijg het tot nu toe niet voor elkaar. Misschien dat je in je iframe een frameset op je eigen domein kunt laden, waarbij je vanuit een pagina (bijv bovenste frame) de locatie/src van je andere frame (onderste) uitleest en die naar je normale pagina doorstuurt, maar ik ben bang dat je hier met hetzelfde probleem komt te zitten ..

  • DukeMan
  • Registratie: Mei 2000
  • Niet online
Idd volgens maakt dat niet echt uit. Want het blijft een iframe die je wilt uitlezen.
En dat 'werkend' voorbeeld werkt eigenlijk niet...

  • Xlnt
  • Registratie: Oktober 2000
  • Laatst online: 18-08 08:11
Je kunt met het voorbeeld idd niet de src-property uitlezen van het iframe. Het werkt alleen als je navigeert met de ankers binnen je eigen document. Te beperkt dus.

De src-property uitlezen is gewoon niet mogelijk, zoals je kon lezen in de quote van http://msdn.microsoft.com/workshop/author/om/xframe_scripting_security.asp.

"It's not that I'm lazy. It's that I just don't care."


  • DukeMan
  • Registratie: Mei 2000
  • Niet online
Ik heb nu een pagina met een iframe gebouwd. Binnen het frame laad ik frameset met een pagina lokaal en een pagina die wordt aangeroepen vanuit de parent van het iframe.
(via asp request en dergelijke)
Als ik nu een parent.internetframe.location.href opvraag, krijg ik een permission denied.
Volgens mij is het gewoon niet te doen wat ik wil.

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 21:54

RM-rf

1 2 3 4 5 7 6 8 9

door in een pagina een
code:
1
document.domain = "http://gathering.tweakers.net/"

te definieren kun je dit domein toestemming geven om wel waardes op te kunnen vragen.

je moet dan wel dus de pagina in je IFRAME kunnen aanpassen (dus een pagina van een externe site gebruiken zal je nog altijd problemen opleveren) maar dan krijg je geen 'permission denied' error meer

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • DukeMan
  • Registratie: Mei 2000
  • Niet online
Ik heb het inmiddels al opgelost...
Beetje op een andere manier. Aangezien het allemaal voor een active desktop was heb ik een ocx in vb geschreven waar ik wat functies en propertys in heb aangemaakt + een inetcontrol.
Deze laad ik in de pagina als een iframe en kan dus de locatie setten maar dus ook gewoon de url uitlezen.

Iedereen in ieder geval bedankt voor het meedenken :)

Verwijderd

Verwijderd schreef op 16 April 2002 @ 16:08:
Het is ook mogelijk zonder Iframe een nieuwe pagina zonder frames te laden (Amazing Frameless Popup Window - Version I). Wellicht is dat een idee. Maak moet je wel je focus in de gaten houden.
Nu heb je het hier over een frameless window... voor het herinstaleren van windows 98 kon ik die dus gewoon nog wel weergegeven krijgen, maar nu dus niet meer!


En wat betreft die iframe... wil je de gewenste url dus ergens in het midden van je page? als ik het goed begrijp dat kan toch gewoon

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

dan zul je wel IE6.01 oid hebben; die is voorzien van een bugrepair om chromeless windows te elimineren.

Enne waarom deze kick?

www.jurgroessen.nl

Pagina: 1