Daniel Thoma: sowohl für ns als auch ie

Beitrag lesen

hallo ronny,

Das Script funktioniert nur mit dem NN. Aber es wird ja auch nur für den NN gebraucht.
ähm, nicht ganz. es sollte schon für beie browser funktionieren. der aufwand für zwei versionen ist auch nicht gerechtfertigt. die frage war mehr, ob es z.b. noch ein attribut oder trick für window.open o.s. gibt.

Nun mit einer kleinen erweiterung tut das script auch mit dem IE.
Hier die bessere Version:

<html>
<head>
<title>popup</title>
<script language="JavaScript">
<!--
function GoTo(ilay)
{
    if(document.doc.document.layers[ilay].pageY - document.doc.top > document.doc.clip.height - window.innerHeight) //Wenn der ilayer soweit unten ist, das über das ende des dokuments hinaus gescrollt werden muß
    {
        document.doc.top = -1 * (document.doc.clip.height - window.innerHeight) //scrolle bis zum ende des Dokuments
    }
    else
    {
        document.doc.top = -1 * (document.doc.document.layers[ilay].pageY - document.doc.top) //Sonst scrolle bis zum entsprechenden ilayer.
    }
}

function Anker(name) //Gibt einen Anker-Starttag (Bei IE a bei NN ilayer)m zurück
{
    var text = "";
    if(document.all)
    {
       text += "<a name="" + name + "">";
    }
    if(document.layers)
    {
        text += "<ilayer name="" + name + "">";
    }
    return text;
}

function AnkerEnde() //Gibt einen Anker-Endtag zurück
{
    var text = "";
    if(document.all)
    {
        text += "</a>";
    }
    if(document.layers)
    {
        text += "</ilayer>";
    }
    return text;
}

function Link(name) //Gibt einen Link-Starttag (bei IE normale HTML-Syntax bei NN Javascriptaufruf) zurück
{
    var text = "";
    if(document.all)
    {
        text += "<a href="#" + name + "">";
    }
    if(document.layers)
    {
        text += "<a href="javascript:GoTo('" + name + "')">";
    }
    return text;
}

function LinkEnde() //Gibt einen Link-Schlußtag zurück
{
    return "</a>";
}
//-->
</script>
</head>
<body>
<layer top=0 left=0 name="doc">
<script>
<!--
document.open();
document.write(Anker("topl") + Link("bottoml") + "unten" + LinkEnde() + "" + Link("mittel") + "mitte" + LinkEnde() + AnkerEnde());
document.close();
//-->
</script><br>
text<br>
[...]
text<br>
<script>
<!--
document.open();
document.write(Anker("mittel") + Link("topl") + "oben" + LinkEnde() + AnkerEnde());
document.close();
//-->
</script><br>
text<br>
[...]
text<br>
<script>
<!--
document.open();
document.write(Anker("bottoml") + Link("topl") + "oben" + LinkEnde() + AnkerEnde());
document.close();
//-->
</script><br>
</layer>
</body>
</html>

Das Script kombiniert einfach beide Technicken zusammen.

Tschüs

Daniel