href=# | Paramter gehen verloren
Martin Hein
- html
0 Rouven0 Martin Hein0 Siechfred0 Martin Hein0 wahsaga0 Martin Hein
0 Siechfred
0 steckl
Hallo Forum,
ich habe einen Link in meiner Anwendung, der eine JS-Funktion
aufruft:
<a href="#" onclick="setfontsize('15px');">...</a>
... das funktionierte soweit bisher. Aber nun tritt ein Phänomen
auf, dass ich in den Griff bekommen muss:
Um mit mod_rewrite arbeiten zu können, habe ich im <head>:
<base href="http://<?=$_SERVER['SERVER_NAME'];?>/_content/" />
definiert. Das führt dazu, dass die URL "/_content/?site_id=120"
nicht nach "/_content/?site_id=120#" führt, sondern nach
"/_content/#". Das erscheint mir auch irgendwie logisch, führt
aber dazu, dass der Link nicht mehr funktioniert.
Meine Frage:
------------
Muss ich mir für mod_rewrite eine andere Lösung einfallen lassen,
oder kriegt man das mit HTML in den Griff ?
danke für eure Meinung und
beste gruesse,
martin
Hello,
<a href="#" onclick="setfontsize('15px');">...</a>
was soll der Link eigentlich tun - nichts, oder? Du willst lediglich die Funktion ausführen, der href ist nur zur Dekoration da (korrigier mich, wenn ich falsch liege). Also sorg einfach dafür, dass der Link nicht mehr greift:
onclick="setfontsize('15px'); return false;"
MfG
Rouven
Hi,
sorry, ich war wohl zu kurz angebunden mit meiner Erklärung ;)
Dein Vorschlag liegt nahe. Könnte man in diesem Fall sicher
so lösen.
Ich habe dabei eher daran gedacht, dass eigentlich nun ach kein
in der Form definierter Textanker funktionieren dürfte.
beste gruesse,
martin
Dein Vorschlag liegt nahe. Könnte man in diesem Fall sicher
so lösen.
Du möchtest also einen Reload der Seite? Oder besorgst du die (vermutliche) Größenänderung via Javascript? Wozu rufst du die JS-Funktion auf, wenn du die Seite gleich wieder "verwirfst"?
Ich habe dabei eher daran gedacht, dass eigentlich nun ach kein in der Form definierter Textanker funktionieren dürfte.
Eventuell hilft [QSA] (siehe Doku zu mod_rewrite, bin jetzt zu faul zum Suchen).
Siechfred
Du möchtest also einen Reload der Seite? Oder besorgst du die (vermutliche) Größenänderung via Javascript? Wozu rufst du die JS-Funktion auf, wenn du die Seite gleich wieder "verwirfst"?
Nein, ich möchte keinen Reload der Site. Dass im Link href=#
definiert ist, führt natürlich dazu. Da bin ich bisher schlicht
nicht drüber gefallen, weil's funktionierte. Die Grössenänderung
funktioniert mit Javascript.
Ich habe auch zum ersten Mal mit mod_rewrite gearbeitet. Als das
Umleiten funktionierte (Die 'Fake'-URL also mit dem 'richtigen'
Inhalt angezeigt wurde) bekam ich ein Problem mit den Links, die
alle relativ definiert sind. Das konnte ich sauber mit der
"base href"-Angabe im <head> lösen und alles war gut ;) Das
Problem mit href=# habe ich erst jetzt festgestellt und dabei geht
es, wie gesagt, viel weniger um diese eine Stelle mit dem JS-
Funktionsaufruf, sondern vielmehr um Textanker, die nun auch nicht mehr funktionieren dürften.
Kann man dem Problem mit den relativen Links unter 'Fake'-URLS
anderes begegnen, als mit der Angabe von "base href" im <head>
??
beste gruesse,
martin
hi,
Kann man dem Problem mit den relativen Links unter 'Fake'-URLS
anderes begegnen, als mit der Angabe von "base href" im <head>
??
Klar, in Bezug auf die Domainwurzel referenzieren.
gruß,
wahsaga
hi,
Klar, in Bezug auf die Domainwurzel referenzieren.
merci, versteh aber mal wieder nicht, was Du meinst ;(
(die relativen Links im Content kann ich nicht verändern)
beste gruesse,
martin
hi,
(die relativen Links im Content kann ich nicht verändern)
Warum nicht?
gruß,
wahsaga
hi,
Warum nicht?
Die Seiten werden mit einem selbstgetricketen CMS gepflegt,
dass auf tiny_mce basiert, dass Teil des Frameworks ist.
beste gruesse,
martin
Klar, in Bezug auf die Domainwurzel referenzieren.
merci, versteh aber mal wieder nicht, was Du meinst ;(
Die Wurzel allen Übels ist deine Document-Root. Willst du diese referenzieren, dann wäre dein Verweisziel ein simpler Slash (siehe SELFHTML). Wo liegt denn überhaupt deine htaccess mit den Rewrite-Regeln?
Siechfred
Wo liegt denn überhaupt deine htaccess mit den Rewrite-Regeln?
Die liegt direkt unter root.
Ein Auszug:
-----------
RewriteRule ^Unsere_Leistungen/$ /_content/?site_id=3 [L]
beste gruesse,
martin
Nein, ich möchte keinen Reload der Site. [...] Die Grössenänderung funktioniert mit Javascript.
Dann mache es so, wie dir bereits zweimal vorgeschlagen. Oder noch besser: Nimm kein A-Element, sondern irgendwas anderes (ich tendiere zu einem Klickbutton), dem du nicht seine Kernfunktion nehmen musst.
Zu deiner anderen Frage mögen sich Berufenere äußern :)
Siechfred
Hi,
ich habe einen Link in meiner Anwendung, der eine JS-Funktion
aufruft:<a href="#" onclick="setfontsize('15px');">...</a>
Ich verstehe dein Problem nicht genau, da ich noch nie was mit mod_rewrite gemacht habe, aber kann es sein, dass du nur verhindern willst, dass deinem Link gefolgt wird?
Wenn ja versuche folgendes:
<a href="#" onclick="setfontsize('15px');return false;">...</a>
mfG,
steckl