Archiv verlassen und diese Seite im Standarddesign anzeigen : frames, weiterleitung & google
tmaniacr 01-04-2005, 10:42 ich habe eine website, welche mit frames arbeitet:
mainframe - navigationsleiste, etc.
iframe - wechselnder inhalt
das problem ist, das google bei bestimmten schlagwörtern, seiten die im iframe angezeigt werden sollen ausspuckt.
beim klick auf den google-link wird nur die seite aus dem iframe angezeigt. (ohne navi des mainframes).
technisch gesehen, wäre es sicher besser ohne frames zu arbeiten, ich möchte die aber bei behalten.
meine idee:
- mit seiten-weiterleitung zu arbeiten, abhänig von einem parameter der über die url mit geliefert wird.
das heisst:
wenn von einer adresse ausserhalb meines servers, eine iframe-seite in den browser läd, wird über seiten-weiterleitung erst die indexseite mit dem mainframe und dem entsprechenden inhalt im iframe geladen.
wird von meiner indexseite oder einer sub-seite eine iframe-seite geladen, soll ein parameter (über url) übergeben werden, welcher die weiterleitungsfunktion überspringt.
kann mir jemand folgen?
gibt es eine einfachere möglichkeit?
greetingz
Quetschi 01-04-2005, 11:09 ich benutze das hier, ist zwar kein PHP sondern javascript aber der großteil der Surfer hat javascript aktiviert, also sollte es in den meisten Fällen so klappen:
<SCRIPT LANGUAGE="JavaScript">if ( top.location.href == self.location.href )
{
top.location.href = "pfad_zur_index?parameter_zum_produkt=1_2_oder3";
}
Tip: ganz am Ende deines Quelltextes einbauen sonst verweigern manche Browser den Ausdruck de Seite.
P.S.
An besseren Lösungen bin ich jederzeit auch interessiert
:)
tmaniacr 01-04-2005, 11:54 <SCRIPT LANGUAGE="JavaScript">if ( top.location.href == self.location.href )
{
top.location.href = "pfad_zur_index?parameter_zum_produkt=1_2_oder3";
}
wie soll ich den parameter_zum_produkt definieren?
ich habe das mal mit einer mischung aus javascript und php gemacht.
in den einzelnen seiten fast der selbe code wie der von quetschi, nur das ich als paramter den relativen link der jeweiligen seite angegeben habe also:
<SCRIPT LANGUAGE="JavaScript">
if ( top.location.href == self.location.href )
{
top.location.href = "pfad_zur_index.php?link=relativer_pfad/seitenname.htm";
}
und dann in der index.php
if (!$_GET['link'])
{
$link = 'site/home/home.htm';
}
else
{
$link = $_GET['link'];
}
echo '<frameset rows="110,*" frameborder="no" border="0" framespacing="0">
<frame src="site/navi/navi.htm'" name="kopf" scrolling="NO" noresize>
<frame src="'.$link.'" name="main" id="main">
</frameset>';
gruss
peter
tmaniacr 01-04-2005, 12:42 Kropff´s lösung sieht vielversprechend aus :)
das einzige problem ist, ich benutze einen iframe als fenster mit wechselndem inhalt, wie definiere ich im frameset den iframe?
(bin ein wenig eingerostet mit so altertümlichen html *g)
du wirst doch wohl selfhtml kennen.
http://de.selfhtml.org/navigation/suche/index.htm?Suchanfrage=iframe
:rtfm:
tmaniacr 01-04-2005, 12:49 öhm, stimmt, danke nochmal :)
tmaniacr 01-04-2005, 13:09 index.php :
<?php
if (!$_GET['link'])
{
$link = linkseite.html';
}
else
{
$link = $_GET['link'];
}
echo '<frameset rows="100%,*" frameborder="no" border="0" framespacing="0">
<frame src="index.html" name="kopf" scrolling="NO" noresize>
<iframe src="'.$link.'" name="main" id="main">
</frameset>';
?>
iframe-seite:
<SCRIPT LANGUAGE="JavaScript">
if ( top.location.href == self.location.href )
{
_____top.location.href = "index.php?link=linkseite.html";
}
</script>
wenn ich jetzt über google auf die iframe-seite klicke, wird diese kurz angezeigt und kurz drauf wird die startseite mit dem iframe zusammen geladen.
soweit so gut, das prob ist, das die iframeseite (in diesem fall linkseite.html) nicht im iframe angezeigt wird, sondern die seite die immer bei start geladen wird.
kann jemand einen fehler im code entdecken?
$link = 'linkseite.html';
peter
tmaniacr 01-04-2005, 13:37 sorry, war nur ein schreibfehler im forum
im code steht es korrekt : $link = 'linkseite.html';
(mit dem fehlendem ' )
es wird automatisch zur index-seite weitergeleitet, aber im iframe wird nicht die gewünschte seite angezeigt: linkseite.html
wo liegt das problem?
ps:
in der adresszeile steht:
index.php?link=linkseite.html
:confused: grundsätzlich: sollte der iframe nicht in der index.html auftauchen anstatt Bestandteil eines framesets zu sein :confused:
tmaniacr 01-04-2005, 15:03 der iframe steht komplett in der index.html
in der index.php wird nur festgelegt, welche quell-seite in den frame geladen werden soll und das funktioniert leider irgendwie noch nicht richtig
if (!$_GET['link'])
{
$link = 'linkseite.html';
}
else
{
$link = $_GET['link'];
}
echo '<frameset rows="100%,*" frameborder="no" border="0" framespacing="0">
<frame src="index.html" name="kopf" scrolling="NO" noresize>
<iframe src="'.$link.'" name="main" id="main">
</frameset>';
:confused: :dontknow:
tmaniacr 01-04-2005, 15:31 ich hab eben den fehler endeckt:
in der index.php wird dem iframe die quelle: linkseite.html zugewiesen und dann wird die index.html geladen.
in der index.html weise ich die eigenschaften des frames zu und eine andere quellseite für den frame. (leer.html)
logischer weise wird dann die zuletzt festgelegte quellseite angezeigt.
das problem ist jetzt folgendes:
wenn direkt auf eine subsite gelinkt wird (über z.b. google) soll der iframe mit der angeklickten seite bestückt werden.
(in der index.php festgelegt)
geht mann aber über einen korrekten link, direkt auf die index.html, soll die leer.html in den frame geladen werden.
(wird in der index.html festgelegt)
was kann mann da nun machen?
|
|