Herlaad iframe src wanneer erop is geklikt op een een element

Is het mogelijk om iframe src te vervangen door een element href-kenmerk wanneer de gebruiker erop klikt?

Ik heb deze code

http://jsfiddle.net/6Hv9P/1/

en ik probeer de gebruiker te laten zoeken met duckduckgo en wanneer erop wordt geklikt moet het iframe src vervangen worden door een href-waarde.

0
Sorry @debinek, ik ben in de war ... wanneer een link wordt geklikt op de pagina in het iframe , wordt deze automatisch gewijzigd in het iframe in de nieuwe URL ( tenzij de betreffende link iets speciaals doet met een attribuut target of iets dergelijks). Dus ik kan niet zien waarom je het handmatig moet doen.
toegevoegd de auteur freefaller, de bron
Wanneer u op zoeken klikt, krijgt u resultaten. Als u nu op een van de resultaten klikt, gaat het naar dit adres. Is het mogelijk om iframe opnieuw te laden met deze href-waarde?
toegevoegd de auteur debianek, de bron

2 antwoord

Als ik u goed begrijp, is wat ik denk dat u probeert te doen, het detecteren wanneer de pagina wordt gewijzigd in het iframe en krijgt u de URL van de nieuwe pagina van de src attribuut van dat iframe .

Helaas denk ik dat je pech hebt, omdat de browser het attribuut src niet zal updaten wanneer de pagina verandert. En tenzij de pagina binnen het iframe afkomstig is uit hetzelfde domein als de bovenliggende pagina, voorkomt de browserbeveiliging dat u de document.location.href op de nieuwe pagina ontdekt.

0
toegevoegd
Nee, ik zou iframe src willen kunnen vervangen wanneer iemand op -element klikt met deze href-waarde. Dus als iframe-inhoud kernel bevat, moet iframe src met die waarde worden vervangen en opnieuw worden geladen.
toegevoegd de auteur debianek, de bron

Mogelijk inderdaad. Hier is een voorbeeld voor zo'n link:

click me

Hiermee wordt de iframe-bron vervangen wanneer op de koppeling wordt geklikt.

Updated fiddle.

Om flexibeler te zijn, kunt u echter een dergelijke code hebben waardoor alle ankers zich op dezelfde manier gedragen:

window.onload = function() {
    var oFrame = document.getElementById('siframe');
    var anchors = document.getElementsByTagName("a");
    for (var i = 0; i < anchors.length; i++) {
        var anchor = anchors[i];
        var curHref = anchor.href;
        if (curHref && curHref.length > 0) {
            anchor.onclick = function() {
                oFrame.src = curHref;
                return false;
            }
        }
    }
};
0
toegevoegd
Bedankt maar dit is niet waar ik om vraag. In het resultatenvenster heb je duckduckgo zoekmachine, als je op 'linux' zoekt, krijg je resultaten, dat zijn links en als je erop klikt, ga je ze gebruiken. Wat ik zou willen krijgen is wanneer je erop klikt vervangt iframe src.
toegevoegd de auteur debianek, de bron
OK, laten we het op deze manier proberen, jsfiddle.net/6Hv9P/1 bevat html- en css-code die wordt weergegeven duckduckgo zoekmachine in iframe. Wanneer de gebruiker op het element in dit iframe klikt, gaat het naar dat adres. Ik wil iframe src vervangen door de href-waarde van dit element.
OK, dank je! :)
toegevoegd de auteur debianek, de bron
"wanneer u erop klikt, wordt iframe src vervangen" - dat is precies wat mijn code aan het doen is. Als je iets anders wilt, leg het dan uit.
toegevoegd de auteur Shadow Wizard, de bron
OK, snap het nu. Ik vrees dat zoiets niet mogelijk is - je hebt geen controle over wat de gebruiker in iframe doet om veiligheidsredenen.
toegevoegd de auteur Shadow Wizard, de bron