[Javascript] Scrollposition soll bleiben

meisteralex

Lieutenant
Registriert
Juni 2003
Beiträge
552
Hi Leute, habe folgenden Link in meiner HTML-Seite

<a href="#" onClick="windows.open(bla,,,bla);">hier der link</a>

wie ihr seht, ist es ein pseudo-link, welcher nur dafür sorgt, dass die linkspezifische hand erscheind und es öffnet sich per java-script ein neues fenster

Mein Proble: die Scollposition soll auf der aufrufenden HTML-Seite vorhanden bleiben. Im Moment springt sie immer zum Anfang (ganz nach oben)
Weiß jemand einen Rat ? möchte ungern überlal Anker positionieren
 
href="#" zeigt auf #, also springt er logischerweise nach oben. Musst wohl übel Anker plazieren, wenn du solche Links einbaust. Falls du es dynamisch machst:

HTML:
<a name="{id}" /><a href="#{id}" onclick="..">..</a>
 
Das versteh ich nicht. Wenn Du beim onklick eine script ausführst, das ein neues Fenster öffnet,
dann wird (über "return false;") das "href" ja nicht angesprungen.
Der Anker nützt da dann auch nichts.
Da wirst Du dann "scrollBy" oder so verwenden müssen.
(http://de.selfhtml.org/javascript/objekte/window.htm#scroll_by)

-- -- muckelzwerg
 
Hi all,

die Vorschläge sind alle viel zu kompliziert.

PHP:
<a onclick="windows.open(bla,,,bla);" style="cursor: pointer;">Link</a>

Das hier macht genau das was du willst, ohne diesen Nebeneffekt.


Ciao
 
*autsch*
Also irgendwie scheint das ALLES Unsinn zu sein.
Ich dachte, Du willst im neuen Fenster scrollen.
Du öffnest ein NEUES Fenster mit jscript ?
Dann pack hinter den Aufruf (wie erwähnt) ein "return false;".
Dann wird der "href" nicht angesprungen und die aufrufende Seite bleibt, wie sie ist.

Den "href" solltest Du nach wie vor verwenden, und zwar auf den Inhalt des JS-Windows zeigend. (mit "_blank" natürlich)
Damit Benutzer ohne Javascript das Fenster auch öffnen können.
Wenn der Fensterinhalt nicht ohn JS funzt, dann linkst Du halt auf eine infopage.

-- -- muckelzwerg
 
@ Muckelzwerg,

jetzt musst Du mir nur noch verraten, wieso meine Variante Unsinn sein soll. Im Originalpost wurde das Fenster ohnehin mit Javascript geöffnet. Ich habe lediglich gezeigt, wie er das realisieren kann, ohne dass dieser Effekt mit der Scrollposition auftritt.

Ob man nun das Ganze auch ohne Javascript lösen kann, war nicht gefragt. Mal davon abgesehen kann man darüber streiten, ob es sinnvoll ist, alles möglichst ohne Javascript lösen zu wollen. Das Attribut target ist auch nur noch in den Transitional-Varianten erlaubt und der Wert "_blank" ist schon gleich gar nicht zugelassen.
Ergo, meine Variante hält sich an die Standards, Deine nicht. Welche ist nun besser?
Ein kurzer Hinweis auf der Seite, dass Javascript benötigt wird und schon ist das Problem aus der Welt.


Ciao
 
Ich finde es unsinnig, weil der Link nicht mehr normal funktioniert, und Du bei den Cursordarstellungen abhängig von Browser und OS nicht sicher sein kannst, ob das klappt.
Zudem mag ich inline CSS Angaben nicht. (mein Problem)

"wurde ohnehin mit javascript geöffnet".
Das versteh ich nicht. Wie soll man ein Javascript Fenster denn auch anders öffnen ?
Deshalb kapier ich auch die sache mit "sinnvoll oder nicht" nicht, sorry.
Mein Variante sieht in etwa so aus :
<a href="jsinfopage.html" onclick="popupWindow(...); return false;">..</a>

S.Giny schrieb:
meine Variante hält sich an die Standards, Deine nicht. Welche ist nun besser?
Weiß ich nicht. Wir wissen doch gar nichts über die Seite.

-- -- muckelzwerg
 
Die Lösung ist einfacher, als Du denkst.

- verwende KEINEN <a...></a>


Lösung:

<span style="cursor: pointer; padding: 0px 2px;" onclick="window.open(...);">Linkname</span>

Dann passiert auf der Ursprungsseite gar nix. Obwohl ich mich wundere, dass jemand im Zeitalter von Popup-Blockern, die nur 10% der User da draußen kapieren, noch mit Javascript Fenstern arbeiten.

Grüße
Hurga
 
Zurück
Oben