fortoma tou frame oxi ksexorista!

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Nightfall25gr
Δημοσιεύσεις: 79
Εγγραφή: 29 Νοέμ 2006 18:14
Επικοινωνία:

fortoma tou frame oxi ksexorista!

Δημοσίευση από Nightfall25gr » 09 Μαρ 2007 06:04

otan anigo mia selida! de thelo na fenete moni tis...alla na fortonei mesa sto frame tis kirias selida...ekei pou fortonei kanonika!
as pume exo kanei mia selida me nea kai eidiseis... kai pos tha po sto link na mou aniksei tin kiria selida ton neon kai na fortosei mesa sto frame ayto pou thelo...!

exo brei ena scriptaki se ena site pou kanei ayo to prama...
paradigma ayto...
www.vlahoi.gr/index.asp?RFRM=http://www ... storia.htm

otan anigeis ti selida http://www.vlahoi.gr/istoria.htm fortonei amesos i kentriki selida me to sigkekrimeno frame mesa!

to criptaki pou xrisimopoiei i sigkekrimeni selida kai to kanei ayto einai ayto,alla de mporo me tipota na to efarmoso...

<script language="JavaScript">
<!--
if (self.parent.frames.length == 0) {
window.location = "vlahs.asp?RFRM=" + document.location;
}
//-->
</script>


fenete toso aploo...kai omos prepei na einai diskolo giati dokimasa polla scripts kai apetixan...malon kati den kano sosta... oso gia tin kentriki selida vlahs.asp de blepo na exei kapoio scriptaki pou na sxetizete me ayti ti douleia.exete kamia idea?

mpas kai prepei na mpo se kamia diadikasia na matho asp? giati to scriptaki ayto sosta einai grameno alla kati allo lipi...kai de xero apo pou na ksekiniso...

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

fortoma tou frame oxi ksexorista!

Δημοσίευση από dva_dev » 09 Μαρ 2007 18:56

Αυτό που κάνει ουσιαστικά το συγκεκριμένο site είναι να φτιάχνει ένα frameset (σε μια αρχική σελίδα index.asp), και σε κάθε κομμάτι(1) φορτώνει μια άλλη σελίδα. Οι σελίδες που φορτώνονται αφορούν την γλώσσα αριστερά, το πάνω κομμάτι με τα links(2) και το περιεχόμενο(3).

(1) Το κομμάτι που σε ενδιαφέρει έχει όνομα "main".

Κώδικας: Επιλογή όλων

<frameset ...>
...
<frame name='main' src='...' target='_self' scrolling='auto'>
...
<frameset>
(2) Στα links λέει η καινούργια σελίδα που θα ανοίξει να μην πάει σε κάποιο νέο παράθυρο αλλά σε κάποιο συγκεκριμένο frame. Σε αυτή την περίπτωση λέει "main".

Κώδικας: Επιλογή όλων

<a href="..." target="main">...</a>
(3) To περιεχόμενο φορτώνεται στο "main" και έχει μέσα το script που αναφέρεις:

Κώδικας: Επιλογή όλων

<script language="JavaScript">
<!--
if &#40;self.parent.frames.length == 0&#41; &#123;
	window.location = "index.asp?RFRM=" + document.location;
&#125;
//-->
</script>
Πρόσεξε ότι λέει: window.location = "index.asp..." αυτό είναι το όνομα της σελίδας που περιέχει το frameset.

Επειδή αυτή η λύση χρησιμοποιεί javascript υπάρχει πάντα η πιθανότητα ο χρήστης να την έχει απενεργοποιημένη. :-?
Σε τέτοια περίπτωση δεν μπορεί να ξαναπάει στην αρχή του site και σου δείχνει απλώς τη σελίδα του frame "main" σκέτη, χωρίς τα υπόλοιπα. :(

Αν οι σελίδες αντί να είναι html ήταν asp δεν θα υπήρχε αυτό το πρόβλημα, αφού θα μπορούσε να ελέγξει τον referrer και να κάνει redirect σε server side χωρίς να τον ενδιαφέρει αν ο client έχει ενεργοποιημένη την javascript η όχι. :)

To RFRM το χρειάζεται για να ξέρει να δώσει στον server side κώδικα του ποιά θα είναι η αρχική σελίδα που θα δείξει μέσα στο frame "main". Αν δεν υπάρχει το RFRM δίνει ένα δικό του default link. Το συγκεκριμένο site δίνει "sylogos.htm" (που άλλωστε είναι και το πρώτο link, στο πάνω frame που φορτώνεται και η σελίδα με τα links.

Πάντως πριν χρησιμοποιήσεις frames, ρίξε μια ματιά σε προηγούμενες συζητήσεις σχετικά με αυτά και αποφασίζεις.

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης