Sidebar – Mainfenster per JS steueren
franek
- javascript
hallo,
ich baue mir gerade eine kleine navigation, welche nicht in frames laufen soll, sondern über die sidebar.
damit kann ich pronlemlos frameblocker umgehen und kann mir die navi (z.bsp) im opera bequem ein-ausschalten.
da ich auf vielen kunden seiten php-laufen habe, mit oft fortlaufenden ids, und ich daher oft in die adressleiste springen muss um aus einer 3 eine 4 zu machen etc. deshalb habe ich mir ein kleines js geschrieben, welches einen statischen bereich besitz und einen dynamischen, hier werden die zahlen einfach um eins erhöht/vermindert.
das problem besteht darin, per parent.frame[1].location.href = name.htm
auf das _main fenster des ie, respektive content fenster des opera zuzugreifen.
hier ertsmal der quick and dirty code:
_________________________________________________
<script type="text/javascript">
<!--
function dynurl(starturl,dynpart,endurl,param)
{
if(param == 1)
{dynpart++; }
else
{dynpart--;}
var newurl = starturl + dynpart + endurl;
document.form.dynpart.value = dynpart;
document.form.kontrolle.value = newurl;
parent.frame[1].location.href = newurl;
}
</script>
<form name="form" action="">
<input type="text" name="starturl" size="30"><br> <input type="text" name="dynpart" size="5"> <input type="text" name="endurl" size="15">
<br>
<input type="button" value="zurück" onClick="dynurl(document.form.starturl.value,document.form.dynpart.value,document.form.endurl.value,-1)">
<input type="button" value="weiter" onClick="dynurl(document.form.starturl.value,document.form.dynpart.value,document.form.endurl.value,+1)">
<br>
<input type="text" value="0" readonly size="30" name="kontrolle">
<br>
<br>
<a href="javascript:void(_search=open('sideswitcher03.html','_search'))" class="dezent">als Sidebar</a>
_________________________________________________
weiß jemand wie die korrekte beziechnung für den main frame auszusehen hat?
schonmal danke für eure postings.
franek
Hallo, franek!
parent.frame[1].location.href = newurl;
frames.length ist gleich 0.
weiß jemand wie die korrekte beziechnung für den main frame auszusehen hat?
meine versuche waren alle erfolglos.
zwischen den beiden fenstern/frames (?) ist es zumindest im IE anscheinend nicht möglich, mit javascript zu agieren.
freundl. Grüsse aus Berlin, Raik
hallo frank
if(param == 1)
{dynpart++; }
else
{dynpart--;}
zuerstmal kannst du deine if-else abfrage weglassen und stattdessen
den param und dynpart als zahl behandeln, dies erreichst du indem du mit number arbeitest:
dynpart = Number(dynpart) + Number(param);
hierbei wird nun einfach mit dem übergebenen wert gerechnet.
parent.frames[1].location.href = newurl;
für das problem der sidebar per js habe ich auch keine direkte lösung,
aber vielleicht kannst du ja die buttons weglassen und den aufruf der funktion per link durchführen, hierbei wäre der vorteil eines direkt anwendbaren target-attributes:
<a href="javascript:void()" onClick="dynurl(document.form.starturl.value,document.form.dynpart.value,document.form.endurl.value,1)" target="_main">+1 Seite</a>
grüße, sebastian
hallo sebastian,
danke für die antwort,
jetzt funktioniert es einwandfrei.
grüße, franek
hallo frank
if(param == 1)
{dynpart++; }
else
{dynpart--;}zuerstmal kannst du deine if-else abfrage weglassen und stattdessen
den param und dynpart als zahl behandeln, dies erreichst du indem du mit number arbeitest:
dynpart = Number(dynpart) + Number(param);
hierbei wird nun einfach mit dem übergebenen wert gerechnet.parent.frames[1].location.href = newurl;
für das problem der sidebar per js habe ich auch keine direkte lösung,
aber vielleicht kannst du ja die buttons weglassen und den aufruf der funktion per link durchführen, hierbei wäre der vorteil eines direkt anwendbaren target-attributes:<a href="javascript:void()" onClick="dynurl(document.form.starturl.value,document.form.dynpart.value,document.form.endurl.value,1)" target="_main">+1 Seite</a>
grüße, sebastian