Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Javascript/JQuery uitlezen url van iframe cross domain  (gelezen 350 keer)

Offline MKe

  • Lid
  • Steunpunt: Nee
Javascript/JQuery uitlezen url van iframe cross domain
« Gepost op: 2015/09/08, 09:37:42 »
Hoi,

Ik heb een probleem met het uitlezen van de url van een iframe en dan met name vanwege de cross-domain beveiliging.
Ik heb een website (intern) waarin de source van een iframe dynamisch wordt gezet via een selectbox. De pagina's in de iframe zijn dynamisch, dus de url kan veranderen. Ik wil graag steeds vanuit de parent kunnen uitlezen wat de huidige url in de iframe is.

In mijn html in de body:
    <select id="viewerselect" class="form-control">
        <option value="">--</option>
        <option value="http://test1.mydomain/>test1</option>
       <option value="http://test2.mydomain/>test2</option>
        <option value="http://test2.mydomain/">test3</option>
    </select>
<iframe class="embed-responsive-item1" id="remoteview" src=""></iframe>

De javascript:
<script>
    document.domain="mydomain";
$(document).ready(function(){
    $("#viewerselect").change(function(){
  // zorgt voor het veranderen van de src in de iframe, dit werkt
   $("#remoteview").attr('src', $(this).val());
});
    $("#button").click( function(){
        var waarde = document.getElementById('remoteview').contentWindow.location;
        alert(waarde);
    });
});
</script>
[code]
Nu werkt hetuitlezen van de locatie prima als in de html in de embedded pagina de document.domain ook naar 'mydomain' wordt gezet. Doe ik dit niet dan krijg ik de melding:
[code]
Error: Permission denied to access property "toString"
Ik neem aan dat dit door de cross-domain protectie komt.


Mijn vraag:
Buiten het de vraag hoe onveilig het is om alleen een url uit te lezen, weet iemand een mogelijkheid om dit te doen zonder de html op al die andere viewers aan te passen?
Maar is er een methode om dit te voorkomen? M.a.w. kan ik