Position ermitteln - Frage für Pro's

FreakDad

Mitglied
Hallo zusammen,

ich überlege aktuell seit gut 4 Stunden an einer Möglichkeit herum, die ich umsetzen muss.

Folgendes Beispiel:
SeiteA.de ruft über ein IFrame Innhalte von SeiteB.de auf. Jetzt will SeiteB.de aber erstmal wissen, wo ist denn das IFrame positioniert auf der SeiteA.de.
Um es einfach zu machen, SeiteB.de will prüfen, sieht der User gerade mich oder sieht er mich nicht.

Solch eine berechnung währe ja kein Problem, wenn da nicht die Sicherheitseinstellungen für JS und andere Sprachen währen, wo man Domainübergreifend arbeiten will.

Sollte es mit JS nicht gehen, aber du en guten ansatzpunkt hättest, so einfach her damit.
Bin für alle Ideen offen. :)
 
OK, dann versuche ich es mal anders auszudrücken.

Beispiel: Währe auf tutorials.de ganz unten ein IFrame eingebaut mit der Zieladresse auf abc.de und du jetzt gerade auf tutorilas.de gehst, währe das IFrame nicht im sichtbaren Bereich. Scrollst du aber nach unten, bis du das IFrame siehst. Ist das IFrame jetzt im sichtbaren Bereich.

abc.de will genau das wissen! Ist das Iframe worüber ich gerade aufgerufen werde im sichtbaren Bereich oder ist es das nicht.
 
Ich habe da vielleicht was gefunden was dir helfen könnte. Das Skript stammt von dieser Seite und wurde von mir ein bisschen geändert.

Es gibt hier zwei DIV-Container wobei der zweite unten außerhalb des sichtbaren Bereiches ist. Scrollt man jetzt nach unten, wird in der Titelleiste angezeigt ob der Container zu sehen ist oder nicht.

HTML:
<script language="javascript" type="text/javascript">
var myWidth = 0, myHeight = 0;

function getSize() {

    if( typeof( window.innerWidth ) == 'number' ) {
        //Non-IE
        myWidth = window.innerWidth;
        myHeight = window.innerHeight;
    } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
        //IE 6+ in 'standards compliant mode'
        myWidth = document.documentElement.clientWidth;
        myHeight = document.documentElement.clientHeight;
    } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
        //IE 4 compatible
        myWidth = document.body.clientWidth;
        myHeight = document.body.clientHeight;
    }

    getScrollXY();
}

function getScrollXY() {
    var scrOfX = 0, scrOfY = 0;

    if( typeof( window.pageYOffset ) == 'number' ) {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }

    if (scrOfY >= (parseInt(document.getElementById("div2").style.top)-myHeight)) {
		window.document.title = "Container wird jetzt sichtbar";
    } else {
	   	window.document.title = "Container ist jetzt wieder unsichtbar";
    }

}

</script>
<body onload="getSize();" onscroll="getScrollXY();" onresize="getSize();">
<div style="width: 200px; height: 300px; position: absolute; top: 0px; left: 20px; z-order: 1; border-style: solid; border-width: 1px;">Ich stehe ganz oben</div>
<div id="div2" style="width: 200px; height: 200px; position: absolute; top: 1000px; left: 200px; z-order: 2; border-style: solid; border-width: 2px;">Ich stehe weiter unten</div>
</body>
 

Neue Beiträge

Zurück