Anzeige - [Hier werben]
(?) Tags raten (?) frameset, nachladen (edit)
 
Reply to this topicStart new topicStart Poll
Diskussion

Seite nur mit Frameset laden?

Gast
Geschrieben am: Mi 30.06.2004, 00:38
Report PostQuote Post

Unregistered







Hallo,

ich habe das Problem, dass Seiten teilweise ohne Frameset geladen werden, da diese von Suchmaschinen durchsucht wurden.

Dass sie gefunden werden, das ist ja sehr gut, nur sollten sie dann in dem Frameset geladen werden.

Ich habe das folgendermaßen gelöst:

<!-- File is only loaded with frameset -->

<script language="JavaScript">

<!--

if(top.frames.length <= 0)
top.location = "http://www.xxxxxxx.de/forward.html";

//-->

</script>


Das ist jedoch nur ein Teilerfolg!!!

Ich hätte nemlich gerne, dass in dem Frameset dann auch die Seite geladen wird, die der Besucher gewählt hat. Sonst macht er die Seite ja gleich wieder zu, da der gewünschte Inhalt nicht gefunden wird.

Meine Überlegung ist, in der Datei eine Variable mit dem Pfad zu erzeugen, diese dann an die Frameseite zu übergeben. Diese zeigt dann das Framset mit der richtigen Seite an.

...oder irgend wie anderst eben. ABER WIE???

Danke für Eure Hilfe
Top
Top
 
 
rem
#2 Geschrieben am: Mi 30.06.2004, 01:54 (+01:15)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 52
Mitglied seit: 28.06.2004


Hier der Code für die Seite, welche in das Frame verpackt werden soll:
QUOTE

<script language="JavaScript">
    if(top==self)
    {
    top.location.href="http://www.xyz.ch/frames.htm?"+self.location.href
    }
</script>


Da das "?" und der nachfolgende Text vom Server nicht ausgewertet wird, übergeben wir die aktuelle Adresse einfach dahinter....

Die Seite mit der Frame-Definition (also frames.htm) sieht folgendermassen aus:
QUOTE

</script>
  <script language="JavaScript">
    if (self.location.href.indexOf("?")>-1)
    {
    Start=self.location.href.indexOf("?")+1;
    Ende=self.location.href.length;
    dieSeite=self.location.href.substring(Start,Ende);
    }
  </script>

<frameset cols="162,*" framespacing="0" border="0" frameborder="0">
  <frame name="Links" scrolling="no" noresize target="ROben" src="http://www.xyz.ch/navi.htm" marginwidth="0" marginheight="0">
  <frameset rows="68,*">
    <frame name="ROben" target="RUnten" src="Ad/org.htm" scrolling="no" marginwidth="0" marginheight="0">
    <frame name="RUnten" src="reload.htm" target="RUnten" scrolling="auto">
  </frameset>
  <noframes>
  <body>

Die Seite reload.htm muss wieder in der Lage sein, die urspüngliche Seite nachzuladen (die URL ist mittlerweile in "dieSeite" gespeichert):
QUOTE

<script language="JavaScript">
    if (top.dieSeite) self.location.href=top.dieSeite;
</script>

Du brauchst also mindestens zwei zusätzliche Seiten, damit es klappt....

Selbstverständlich ist Dir selbst überlassen, wie Du die Frames anordnest und die Seiten benennst... wink.gif
Ich bin mir auch sicher, dass es noch eine kürzere Variante gibt...
Selbst nehme ich mittlerweile von Frames Abstand und steige auf Server Side Includes um... Das erspart doch viel JAVASCript-Gewürge...


--------------------
Top
PMEmail Poster
Top
 
Urs
GWD GmbH
#3 Geschrieben am: Mi 30.06.2004, 06:51 (+04:57)
Report PostQuote Post

AyomRank 9
Group Icon 2 Gruppe: Moderator

Gruppe: Moderator
Beiträge: 2619
Mitglied seit: 21.05.2004


folgendes habe ich gefunden:

QUOTE

Stellen Sie sich vor, eine Ihrer Seiten wird separat aufgerufen,
beispielsweise vom Link einer Suchmaschine.
Diese Seite wird separat dargestellt und nicht wie gewollt in einem Frame.

Diese Lösung zeigt, wie man das Laden in einem bestimmten
Frame erzwingen kann.

Inhalt der index.htm: 
<html>
<head>
<title>Frame erzwingen</title>
</head>
<script language="JavaScript">
<!-- Begin
if (self == top)
{
     var FrameURL = location.search.substring(1);
}
else
    {
     top.location.href = location.href;
    }
// End -->
</script>
<script LANGUAGE="JavaScript">
<!--
var MainFrameURL;
        if (FrameURL == '')
        {
         MainFrameURL = 'haupt.htm';
        }
        else
        {
         MainFrameURL = FrameURL;
        }
document.writeln('<frameset rows="96,*">');
document.writeln('  <frame name="Oben" scrolling="no" noresize target="Oben" src="oben.htm">');
document.writeln('  <frameset cols="262,*">');
document.writeln('    <frame name="Links" target="Hauptframe" src="links.htm">');
document.writeln('    <frame name="Hauptframe" src="' + MainFrameURL + '">');
document.writeln('  </frameset>');
document.writeln('  <noframes>');
document.writeln('  <body>');
document.writeln('<p>Diese Seite verwendet Frames.<br>');
document.writeln('Frames werden von Ihrem Browser leider nicht unterstützt.</p>');
document.writeln('</body></noframes></frameset>');
//-->
</SCRIPT><NOSCRIPT>
</html>

 
Inhalt aller Seiten, die im Frame dargestellt werden sollen:

<html>
<head>
<title>Testseite</title>
<script src="setframe.js"></script>
</head>
<body>
<p><font face="Verdana" size="2"><b>Testseite</b></font></p>
</body>
</html>

  
Inhalt der setframe.js: 
  if(!parent.Hauptframe)
   location.href="index.htm?" + location.pathname;

  
Beachten Sie den Namen des Frames !
In der index.htm und in der setframe.js muss dieser übereinstimmen
(siehe rote Markierung)
Erklärung:

Durch das Einbinden der setframe.js wird überprüft,
ob sich die Seite im Frame namens Hauptframe befindet.
Ist dies nicht der Fall, wird die index.htm mit Hilfe einer Übergabe aufgerufen:
index.htm?testseite.htm

Diese Übergabe wird anschließend in der index.htm ausgewertet
und der entsprechende Frameset zusammengesetzt:
document.writeln('    <frame name="Hauptframe" src="' + MainFrameURL + '">');



--------------------
------------------------------------------------------------------------------------------------------------
Es gibt nur 10 Typen von Menschen;
Solche die binär verstehen und solche die kein binär verstehen!
------------------------------------------------------------------------------------------------------------
vistablog.ch - Blog zu meinen Windows Vista Erfahrungen

www.topprodukte.ch - der online Shopping-Blog

www.surfstart.ch - Die Startseite der Schweiz
Top
PMUsers Website
Top
 
Irene
irene.ch
#4 Geschrieben am: Mi 30.06.2004, 07:51 (+00:59)
Report PostQuote Post

AyomRank 7
**************

Gruppe: Ehrenmitglied, Ex-Moderator
Beiträge: 1115
Mitglied seit: 3.05.2004


Ich hab das in meinem letzten Projekt halb client-, halb serverseitig gelöst. Oben in den Unterseiten steht jeweils

<script language=JavaScript>
if((top==self) || (top.name!='TopFrame')){
top.location.href='/default.aspx?Link=Hauptseite.aspx';
}
</script>


Und in der default.aspx siehts so aus (Auszug)

<script language="javascript">
window.name="TopFrame";
</script>
<frameset rows="*,78" border=0 frameSpacing=0 frameBorder=0>
<frame name="frmMain" src="Hauptseite.aspx">


Wobei die grünen Werte serverseitig gesetzt werden.

Griessli
Irene


--------------------
Top
PMUsers Website
Top
 
rem
#5 Geschrieben am: Mi 30.06.2004, 12:59 (+05:08)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 52
Mitglied seit: 28.06.2004


Ich möchte wirklich betonen, dass Du zu Beginn eines Webprojektes lieber eine framlose Version planen solltest.
Dann musst Du dich z.B. gerade 30 Minuten mit den Befehlen für Server Side Includes beschäftigen und es läuft. Keine Probleme mit Frames, Suchmaschinen werden die Seiten lieben, Besucher haben absolut keine Darstellungsprobleme.

Ich habe mein Hauptprojekt (jetzt > 2000 Seiten) auch mit Frames gestartet. Baue aber kontinuierlich den Anteil an .shtml Seiten aus. Es lohnt sich einfach. Vergiss Frames, vergiss langsame CMS. Check den Provider ab, ob er SSI unterstützt (und wie ?) und dann lass diese Frames weg.

Oder was ist Eure Meinung ?


--------------------
Top
PMEmail Poster
Top
 
Gast
#6 Geschrieben am: Mi 30.06.2004, 13:22 (+00:23)
Report PostQuote Post

Unregistered







QUOTE
Ich habe mein Hauptprojekt (jetzt > 2000 Seiten) auch mit Frames gestartet. Baue aber kontinuierlich den Anteil an .shtml Seiten aus. Es lohnt sich einfach. Vergiss Frames, vergiss langsame CMS. Check den Provider ab, ob er SSI unterstützt (und wie ?) und dann lass diese Frames weg.


Hört sich interessant an. Ich habe nämlich ein ganzes Bündel an Frameseiten. CMS konnte mich bis jetzt noch nicht wirklich vom Sessel hauen. Wo gibt es gute Infos in deutsch über .shtml und SSI? ... und ja Leute, ich kann in Google selber suchen. Aber vielleicht kann mir ja jemand die Mühe ersparen x URLs in Google anzuschauen.
Top
Top
 
Urs
GWD GmbH
#7 Geschrieben am: Mi 30.06.2004, 14:50 (+01:27)
Report PostQuote Post

AyomRank 9
Group Icon 2 Gruppe: Moderator

Gruppe: Moderator
Beiträge: 2619
Mitglied seit: 21.05.2004


hier kannst du dich einarbeiten:

http://www.netztrainer.de/ssi/ssi.html

hier noch in englisch: http://www.ssi-developer.net/ssi/ssi-include.shtml

grundsätzlich ganz einfach:

code teile in dateien mit der endung .inc abspeichern
die seite wo die teile eingefügt werden sollen müssen die endung .shtml haben

folgende 2 befehle brauchst du um die teile einzufügen:

CODE
<!--#include file="hallo.txt" -->
wenn das file im selben verzeichnis liegt.

und

CODE
<!--#include virtual="/home/includes/copyright.txt" -->

wenn das file in einem subfolder liegt.

so kommst du schon mal sehr weit.

gruess

urs


--------------------
------------------------------------------------------------------------------------------------------------
Es gibt nur 10 Typen von Menschen;
Solche die binär verstehen und solche die kein binär verstehen!
------------------------------------------------------------------------------------------------------------
vistablog.ch - Blog zu meinen Windows Vista Erfahrungen

www.topprodukte.ch - der online Shopping-Blog

www.surfstart.ch - Die Startseite der Schweiz
Top
PMUsers Website
Top
 
rem
#8 Geschrieben am: Mi 30.06.2004, 21:00 (+06:10)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 52
Mitglied seit: 28.06.2004


Mein Provider schreibt die Endung .shtm vor...

Aber mit den Suchbegriffen SSI und/oder "Server Side Includes" findest Du alles. Sowie Dokumentation des Providers anschauen und nachfragen !

Z.B. kann man den google Adsens-Code in eine Datei auslagern. Probleme mit google: einfach eine Datei ändern, und sozusagen alle 2000 Seiten sind simultan geupdated.

Das Hauptproblem bei SSI ist wirklich, dass man seine Webseite genauer planen muss, aber es ist absolut kein Problem, z.B. eine Tabelle zu definieren und innerhalb der Zellen externen Code einbinden zu lassen. Ein bisschen experimentieren ...

Die Befehle sind so einfach, da lohnt es sich nicht, Frames in Java zu programmieren !



--------------------
Top
PMEmail Poster
Top
1 Jahr und 9 Monate später...
Gast
#9 Geschrieben am: Fr 10.03.2006, 08:15 (+1y 9m )
Report PostQuote Post

Unregistered







Hallo Forum,

vielleicht ließt den Thread ja doch noch jemand mit :-)

Ich habe die Frame>>ins Frameset Problematik mit der Anleitung gelöst, die Urs gequotet hat. Alles hatt 100% geklappt.
Mein Problem ist jetzt aber, dass ich die drei Frames/das Frameset auch noch zentriert haben möchte, bzw. haben muss.
Setzte ich das ganze in einen I-Frame, wirft sich das Frameset dort wieder "selbst hinaus" (logisch!).

Weiß jemand ein Lösung, OHNE wieder alles umzubauen?

Grüße
Ralph rolleyes.gif
Top
Top
6 Monate später...
Gast
#10 Geschrieben am: Fr 8.09.2006, 11:14 (+6m )
Report PostQuote Post

Unregistered







QUOTE

Die Seite reload.htm muss wieder in der Lage sein, die urspüngliche Seite nachzuladen (die URL ist mittlerweile in "dieSeite" gespeichert):

<script language="JavaScript">
    if (top.dieSeite) self.location.href=top.dieSeite;
</script>


Eine Ergänzung:

Wenn die reload.htm verlinkt wurde, und jemand diesem Link folgt, wird sie nicht im frameset geladen. Es fehlt dort eine Umleitung auf die frames.htm:

<script language="JavaScript">
if (top.dieSeite) self.location.href=top.dieSeite;
if (top.frames.length==0) location.replace("http://www.xyz.ch/frames.htm")
</script>

So funktioniert es auch bei der reload.htm rolleyes.gif
Top
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Netbook- und Surfstick-Seite - Ideen und Feedback AdMarkt 1470 2 Mo 20.10.2014, 08:58
Suche für neue Seite Affiliate Partner Joachim 419 0 Fr 12.09.2014, 11:46
Diskussion: Wie optimiere ich meine Seite für S ... Ayom-Team 1583 4 Mi 28.05.2014, 12:10
404 Umleitung auf eigene Seite Piero50 661 2 Di 15.04.2014, 23:36
RSS Feeds auf die eigene Seite einbinden down7spring 642 0 Mi 22.01.2014, 12:47
Biete: Kostenlose Gastbeiträge auf Technik-Seite seoRitter 883 0 Mo 9.12.2013, 05:28
Verlinkung auf Casino-Seite andos 1064 5 Di 29.10.2013, 15:52
Rechnungswesen Seite vermarkten gesanto 1131 2 Di 17.09.2013, 16:11


Günstig werben auf Ayom:
Kontakt: ayom@small-n-tall.com



Anzeigen

Textlinks kaufen oder anbieten





[Hier werben]

 

Statistiken:
Top 10 Autoren heute
Top 50 Autoren insgesamt