παπι Δημοσ. 30 Ιουλίου 2016 Δημοσ. 30 Ιουλίου 2016 ΤΣΑ να με παλι </footer> <script type='text/javascript' src='<?php echo base_url() . 'assets/js/dp.js';?>'></script> <script> (function(){ dp.config({ streamUrl: '<?php echo base_url()?>index.php/map/stream/', mapZoom: 15 });})(); </script> <script src="https://maps.googleapis.com/maps/api/js?key=απικι&callback=dp.googleCallback&libraries=geometry"></script> </body> </html> Εχουμε το παραπανω. Υπαρχει περιπτωση να φορτωσει πρωτα το googleapis με αποτελεσμα να δει το dp.googleCallback ως Undefined; Και αν υπαρχει, πως θα το λυσουμε αυτο; Να βαλω κατω απο το dp.config ενα script το οποιο θα γραψει το tag με το Script του googleapis;
mad-proffessor Δημοσ. 1 Αυγούστου 2016 Δημοσ. 1 Αυγούστου 2016 Αστείο είναι αυτό; Το ένα είναι τοπικό αρχείο και το άλλο κλήση σε web server με απιkey
alou Δημοσ. 1 Αυγούστου 2016 Δημοσ. 1 Αυγούστου 2016 Μπορεί να ορίζεται το dp.googleCallback (δεν φαίνεται πουθενά, υποθέτω ότι δημιουργείται κάπου μέσα στο dp.js) μέσα ή μετά από κάποια ασύγχρονη κλήση. Δεν θα ήταν και πολύ λογικό αλλά δεν μπορείς να το αποκλείσεις αν δε δεις τι είναι.
mad-proffessor Δημοσ. 1 Αυγούστου 2016 Δημοσ. 1 Αυγούστου 2016 Το dp ειναι μια μεταβλητή που θα υπάρχει ηδη στο namespace οταν θα γινει η κληση στο google api, λόγω της blocking js engine. Αρα κατα 99% αποκλείεται να δωσει undefined. Για να το βεβαιωσεις http://stackoverflow.com/questions/7308908/waiting-for-dynamically-loaded-script
alou Δημοσ. 1 Αυγούστου 2016 Δημοσ. 1 Αυγούστου 2016 Το dp ειναι μια μεταβλητή που θα υπάρχει ηδη στο namespace οταν θα γινει η κληση στο google api, λόγω της blocking js engine. Αρα κατα 99% αποκλείεται να δωσει undefined. Αυτό δεν προκύπτει από πουθενά σε αυτά που βλέπουμε, δεν είναι απαραίτητα blocking / synchronous ο κώδικας που το δημιουργεί. Βέβαια, ξεκινώντας από το dp αν δεν είναι ήδη διαθέσιμο θα προκύψει σφάλμα αμέσως στο dp.config που είναι και iife οπότε (εφόσον δεν συμβαίνει κάτι τέτοιο) τελικά η μόνη αμφιβολία είναι για το callback, που αν δεν ορίζεται σε κάποιο ασύγχρονο κομμάτι, ισχύει αυτό που λέει ο μαντ. 1
παπι Δημοσ. 2 Αυγούστου 2016 Μέλος Δημοσ. 2 Αυγούστου 2016 Το callback υπαρχει. Κανω return object που εχει το config και το callback. Ολο το θεμα εχει να κανει με τα scriot tag. Πχ αν φορτωσει πρωτα το google ( πες πως ο σερβερ μου εχει τραφικ) θα εκτελεστει ή θα περιμενει να φορτωσει πρωτα το dp
alou Δημοσ. 2 Αυγούστου 2016 Δημοσ. 2 Αυγούστου 2016 Δεν έχει καμμία σημασία το traffic του server, η js είναι run to completion σε 1 thread οπότε δεν έχεις τέτοιους προβληματισμούς ΑΝ δεν υπάρχει με οποιαδήποτε τρόπο ασύγχρονο κομμάτι - το ξαναλέω γιατί το ότι επιστρέφεις το callback δε σημαίνει ότι δεν λές πχ dothis().then( defince callback fn) Η απορία σου νομίζω αφορά kai τα διαφορετικά tag και κατά πόσον αλλάζουν τη σειρά που θα τρέξει το καθένα (?) και η απάντηση είναι ότι φαντάζεσαι απλά ένα script που θα τρέξει με τη σειρά που έχει γραφτεί στην html (αν είναι file, ότι γράφει το file μπαίνει στη θέση του), όχι με τη σειρά που θα γίνει διαθέσιμο. 2
Chemical Δημοσ. 3 Αυγούστου 2016 Δημοσ. 3 Αυγούστου 2016 Μάλλον όχι, αλλα μήπως να το περνουσες το google api link στο window.οnload?
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα