Απενεργοποίηση ενός σκριπτ υπό κάποιες συνθήκες

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

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

Απάντηση
Akis_gr49
Δημοσιεύσεις: 266
Εγγραφή: 07 Ιουν 2007 13:49

Απενεργοποίηση ενός σκριπτ υπό κάποιες συνθήκες

Δημοσίευση από Akis_gr49 » 07 Αύγ 2009 20:46

Γεια σας παιδιά,

Ερωτησούλα:

Το σκριπτ μου φορτώνει το test.js aρχείο.

Θέλω όταν ισχύει μια συνθήκη να απενεργοποιείται αυτό το αρχείο.

π.χ. κάπου στον κώδικα αναφέρεται αυτό

if ($testarisma = 1){
// μέσα εδώ θέλω να μην φορτώνεται το test.js αρχείο.

}


κάπου διάβασα με την εντολή unset της Php αλλά δεν το κατάφερα.

Καμιά ιδέα;

Ευχαριστώ!!

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

Απενεργοποίηση ενός σκριπτ υπό κάποιες συνθήκες

Δημοσίευση από dimsis » 07 Αύγ 2009 21:14

Δηλαδή αν βάλεις μέσα στον έλεγχο το αρχείο που δεν θέλεις να φορτώνει δεν πιάνει; π.χ.
if ($testarisma <> 1){
<script src="test.js " language="javascript" type="text/javascript"> </script>
}
Ένα αρχείο js μπορεί να έχει μέσα πολλές function, τι πάει να πει να το απενεργοποιήσεις; να "ξεφορτώσει" ότι έχει και δεν έχει φορτώσει από τη μνήμη; Μάλλον θα πρέπει να ξανασκεφτείς στη λογική της εφαρμογής...

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Απενεργοποίηση ενός σκριπτ υπό κάποιες συνθήκες

Δημοσίευση από Banavas » 08 Αύγ 2009 11:36

if ($testarisma = 1){
// μέσα εδώ θέλω να μην φορτώνεται το test.js αρχείο.
}
Το παρακάτω είναι λάθος. Θέλει διπλό == . Όπως είναι γραμμένο αυτή τη στιγμή κάθε φορά που τρέχει αντί να ελέγχει αν το $testarisma είναι ισον με 1, το θέτει ισον με 1 οτι και αν ήταν.

Την λογική αυτή την έχω χρησιμποποιήσει και εγώ, όπως το δίνει ο Δημήτρης, σε σελίδα που αλλάζει περιεχόμενο δυναμικά και δεν χρειάζεται το javascript αρχείο σε όλες τις περιπτώσεις. Όταν φορτωθεί άσκοπα δεν επιρρεάζει την σελίδα απλά βγάζει στην μπάρα πληροφοριών "Σφάλμα στη σελίδα".

Αν υπάρχει κάτι καλύτερο θελω να το μάθω και εγώ, έ σοφέ :think: :respect:
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Απενεργοποίηση ενός σκριπτ υπό κάποιες συνθήκες

Δημοσίευση από ThyClub » 08 Αύγ 2009 11:46

Εγώ όταν μια σελίδα χρειάζεται js φορτώνω όλα τα αρχεία σε ενα session var και στο template κάνω ένα echo $_SESSION[''js'];

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

Απενεργοποίηση ενός σκριπτ υπό κάποιες συνθήκες

Δημοσίευση από dimsis » 08 Αύγ 2009 12:11

Σφάλμα στη σελίδα θα βγάζει αν καλέσεις ας πούμε μια function που πλέον δεν έχει γίνει δημιουργηθεί επειδή δεν έκανες include το js αρχείο. Αν όμως έχεις φροντίσει και βάλεις τον ίδιο έλεγχο και εκεί που την καλείς δεν θα έχεις τέτοια προβλήματα.
Δηλαδή από server side μπορείς να έχεις έναν έλεγχο μέσω κάποια μεταβλητής στην απλούστερη περίπτωση, όπου την ελέγχεις και όταν είναι αληθείς φορτώνεις το JS και καλείς τα αντίστοιχα functions, σε διαφορετική περίπτωση ούτε το κάνεις include, ούτε καλείς functions του JS.
Σε php είναι πολύ πιο σοφός ο ThyClub βέβαια οπότε εξετάστε και τον τρόπο που σας δίνει.

Σε CFML (Coldfusion) εγώ κάνω το εξής πάντως.
Έστω ότι θέλω να δημιουργήσω ένα carousel που έχει τα δικά του JS και CSS, αλλά δεν θέλω να φορτώνονται συνέχεια, οπότε δεν τα βάζω στο header μου.
Όταν χρειαστώ το carousel έχω όλο του τον κώδικα σε ένα αρχείο που κάνω include όπου μέσα σε αυτό έχει και τα αρχεία JS και CSS που πρέπει να φορτωθούν ώστε να παίξει σωστά.
Στην αρχή του include έχω τα αντίστοιχα cfheader που μου φορτώνουν μόνο όποτε γίνει include το συγκεκριμένο αρχείο οπότε και φορτώνονται στον client και τα απραίτητα CSS / JS αρχεία... Έτσι δεν μπλέκω ούτε με session μεταβλητές, ούτε με Spaghetti code από server side μεριάς τουλάχιστον...
Βλέπω και η PHP έχει μια εντολή που μάλλον είναι αντίστοιχη της cfheader: http://gr.php.net/manual/en/function.header.php Αυτή δεν κάνει δουλειά;

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Απενεργοποίηση ενός σκριπτ υπό κάποιες συνθήκες

Δημοσίευση από Banavas » 08 Αύγ 2009 14:40

Δεν έχω κάποιο πρόβλημα, ούτε με βγάζει σφάλμα στη σελίδα όπως το δουλεύω, απλά ρώτησα αν υπάρχει κάποιος πιο καλός τρόπος για το φόρτωμα των js περιστασιακά.
Αλλωστε μου αρέσει και το Spaghetti.
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

Απενεργοποίηση ενός σκριπτ υπό κάποιες συνθήκες

Δημοσίευση από dimsis » 08 Αύγ 2009 18:02

Banavas έγραψε:Αλλωστε μου αρέσει και το Spaghetti.
Εμένα να δεις... είμαι μακαρονάς :)

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

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

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