Επιδιόρθωση προβλημάτων προσωρινής αποθήκευσης με Flash, JavaScript, XML, KML ή Χάρτες Google
Αυτή είναι μια σύντομη και γλυκιά ανάρτηση για θέματα προσωρινής αποθήκευσης. Οι ιστότοποι και τα προγράμματα περιήγησης έχουν δημιουργηθεί για να βελτιστοποιούν πραγματικά τους πόρους. Το κάνουν τόσο καλά μερικές φορές που το τελικό αποτέλεσμα σπάει πραγματικά τον δυναμικό ιστότοπό σας αντί να τον ενημερώνει όσο συχνά θέλετε. Σήμερα δούλευα JW Player, ένα πρόγραμμα αναπαραγωγής ταινιών Flash που τραβά μια λίστα ταινιών μέσω ενός αρχείου XML.
Το πρόβλημα είναι ότι ενημερώνουμε πάντα το αρχείο με νέα διαδικτυακά σεμινάρια και εκπαιδευτικά μαθήματα. Εάν οι πελάτες μας συνέχιζαν να έρχονται στη σελίδα κάθε μέρα, θα φορτώνει μια προσωρινή μνήμη της λίστας αναπαραγωγής και δεν θα τους εμφανίζει ποτέ την πιο πρόσφατη και καλύτερη.
Ως αποτέλεσμα, έπρεπε να χαράξω το Κωδικός αντικειμένου SWF ώστε να πιστεύει ότι φορτώνει μια νέα λίστα αναπαραγωγής κάθε φορά.
var video = new SWFObject('player.swf','mpl','670','280','9'); var playlist = 'playlist.xml't='+Math.round(1000 * Math.random()); video.addParam('allowscriptaccess','always'); video.addParam('allowfullscreen','true'); video.addParam('flashvars','&file='+playlist+'&playlistsize=350&controlbar=over&playlist=right'); video.write('video');
Ο τρόπος με τον οποίο εξαπάτησα τον παίκτη ήταν να βάλεις ένα ερώτημα στο όνομα της λίστας που δημιούργησε έναν τυχαίο αριθμό χρησιμοποιώντας JavaScript Ανεξάρτητα από το ποιος χτυπά τη σελίδα, θα ψάξει για ένα διαφορετικό όνομα αρχείου, οπότε ο παίκτης θα τραβάει τη λίστα αναπαραγωγής κάθε φορά.
Αυτό δεν είναι μόνο βολικό για το JW Player, έχω χρησιμοποιήσει επίσης αυτήν την τεχνική για τους Χάρτες Google όταν ασχολούμαι με αρχεία KML που αλλάζουν δυναμικά. Απλώς δημιουργήστε ένα τυχαίο querystring και το σύστημα θα φορτώσει ξανά το (αρκετά στατικό) αρχείο KML κάθε φορά που επισκέπτεται ο χρήστης. Είναι ένα χάκετ, αλλά είναι ένας εύκολος τρόπος ουσιαστικά να μετατρέψετε την προσωρινή αποθήκευση off σε αυτές τις εφαρμογές που δεν έχουν την επιλογή.