4 Stimmen

Übergeordnetes Fenster zum Anker im Iframe rollen

Der übergeordnete Rahmen und der iframe befinden sich in derselben Domäne. Iframe hat eine dynamische Höhe und keine eigenen Bildlaufleisten - die Bildlaufleisten befinden sich im übergeordneten Fenster.

Trotz viel Suche kann ich keine Möglichkeit finden, das übergeordnete Fenster zu einem Anker im iframe beim Laden zu scrollen. d.h. die iframe-URL ist abc.com/iframe.html#link, aber beim Laden ist nur der obere Teil des iframe sichtbar - der übergeordnete Frame scrollt nicht zu #link. Kennt jemand eine Möglichkeit, dies mit Javascript (entweder im übergeordneten oder im iframe oder in beiden) oder auf andere Weise zu tun?

Gracias

2voto

ppsreejith Punkte 3140

Angenommen, Sie klicken auf einen Link, anstatt ihn zu verankern, versuchen Sie dies:

document.getElementById('id_of_link').scrollIntoView(true);

Bearbeiten: Wie wäre es mit window.parent.scroll(x,y), wobei x,y die Positionen der Elemente sind, die durch diese Methode abgerufen werden:

function getOffset( el ) {
    var _x = 0;
    var _y = 0;
    while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {
        _x += el.offsetLeft - el.scrollLeft;
        _y += el.offsetTop - el.scrollTop;
        el = el.offsetParent;
    }
    return { top: _y, left: _x };
}
var x = getOffset( document.getElementById('yourElId') ).left;

Von: Abrufen der Position (X,Y) eines HTML-Elements

0voto

huhuh Punkte 31

Haben Sie versucht, das # zu urlencodieren?

Versuchen Sie es: %23

-1voto

sp42 Punkte 1

Versuchen Sie dies

onscroll = (event) => {
    event.stopPropagation();
    event.preventDefault();

    window.scrollTo(0, 0); // scroll parent window to anchor in iframe
    return false;
};

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X