"?" wird von Opera nicht interpretiert?
birdman
- javascript
0 $xNeTworKx0 gegge0 gegge
Hallo,
habe heute morgen meine Frage wohl nicht präzise gestellt. Beim JavaScript von Martin Wernecke (s.u.) aus den Feature Artikeln zum Nachladen von Framesets hat Opera wohl Schwierigkeiten den Platzhalter zu lesen. Es wird immer versucht eine "Mega-Datei" zusammengesetzt aus allen Pfadangaben zu laden. Hat jemand eine Idee, wie man das für Opera lösen kann. Benutze den Browser nur zum Testen, um auch Opera-Nutzer zufriedenstellen zu können.
Gruß Birdman
===========================================================
TEIL 1:
<head>
...
<SCRIPT language="JavaScript">
<!--
function checkFrameset() {
if(!parent.xyzVerweisframe)
location.href="http://www.xy.de/unterverzeichnisXY/index.htm?" + location.pathname;
}
//-->
</SCRIPT>
</head>
<body onLoad='checkFrameset()'>
Teil 2:
<head>
...
<SCRIPT language="JavaScript">
<!--
function checkFramecall() {
var Adressanhang=location.search;
if(Adressanhang)
frames.xyzHauptframe.location.href=Adressanhang.substring(1,Adressanhang.length);
}
//-->
</SCRIPT>
</head>
<frameset cols="60,*" onLoad="checkFramecall()">
<frame name="xyzVerweisframe" src="links.htm">
<frame name="xyzHauptframe" src="start.htm">
</frameset>
Hallo,
<SCRIPT language="JavaScript">
<script type="text/javascript">
<!--
function checkFrameset() {
if(!parent.xyzVerweisframe)
location.href="http://www.xy.de/unterverzeichnisXY/index.htm?" + location.pathname;
Versuche es mal so. Weis zwar nicht ob es funktionieren wird, aber ein Versuch ist es Wert :
location.href='http://www.xy.de/unterverzeichnisXY/index.htm?' + location.pathname;
oder :
location.href="http://www.xy.de/unterverzeichnisXY/index.htm" + '?' + location.pathname;
Ich bin zwar in Javascript nicht so bewandert, aber sollte es nicht window.location.href heißen?
$xNeTworKx.
Hallo Birdman,
eventuell liegt es an deiner Version von Opera (mein script funktioniert mit Opera 7(Beta) jedenfalls.
Du kannst ja mal mit deinem Opera die Url:
http://www.gegge.de/version/version.htm
aufrufen und testen ob er dort korrekt das Frameset mit der entsprechenden Seite im rechten Frame (die verion.htm) nachlädt.
Im Teil eins verwendest Du unnötiger Weise eine Funktion mit Aufruf über den Body- onloadhandler.
einfacher wäre:
TEIL 1:
<head>
<SCRIPT language="JavaScript">
<!--
if(top.frames.length < 1) {
document.location.href='http://www.xy.de/unterverzeichnisXY/index.htm?'+location.pathname; }
//-->
</SCRIPT>
</head>
<body>
Teil 2
Die Anweisung nach if(Adressanhang) sollte in Funktions-Klammern stehen, außerdem gehört hinter Adressanhang.length noch eine -1.
das sieht dann so aus:
<head>
...
<SCRIPT language="JavaScript">
<!--
function checkFrame() {
if(location.search){
frames.xyzHauptframe.location.href=location.search.substr(1,location.search.length-1); }}
//-->
</SCRIPT>
</head>
<frameset cols="60,*" onLoad="checkFramecall()">
<frame name="xyzVerweisframe" src="links.htm">
<frame name="xyzHauptframe" src="start.htm">
</frameset>
Gruß Gegge
sorry, ein kleiner Fehler hat sich eingeschlichen
im Teil 2
sollte die Funktion " function checkFrame() "
natürlich " function checkFramecall() " heissen, da in der Framesetdefinition die Funktion checkFramecall() aufgerufen wird.
Gruß Gegge