Une partie de mon code JavaScript se trouve dans un fichier externe appelé helpers.js. Dans le code HTML qui appelle ce code JavaScript, j'ai besoin de savoir si une certaine fonction de helpers.js a été appelée.
J'ai tenté de créer une variable globale en définissant:
var myFunctionTag = true;
Dans une portée globale à la fois dans mon code HTML et dans helpers.js.
Voici à quoi ressemble mon code html:
<html>
...
<script type='text/javascript' src='js/helpers.js'></script>
...
<script>
var myFunctionTag = false;
...
//I try to use myFunctionTag here but it is always false, even though it has been se t to 'true' in helpers.js
</script>
Ce que j'essaie de faire est-il même réalisable?
<script>
bloc de balises. J'ai juste essayé 2 approches différentes (sans déclarer le var avant le fichier helpers.js) et elles ont toutes les deux fonctionné. Je vais publier une réponse, mais il semble qu'il doit y avoir une information clé manquante dans votre question.Réponses:
Vous devez déclarer la variable avant d'inclure le fichier helpers.js. Créez simplement une balise de script au-dessus de include pour helpers.js et définissez-la ici.
la source
La variable peut être déclarée dans le
.js
fichier et simplement référencée dans le fichier HTML. Ma version dehelpers.js
:Et une page pour le tester:
Vous verrez que le test
alert()
affichera deux choses différentes et la valeur écrite sur la page sera différente la deuxième fois.la source
OK, les gars, voici mon petit test aussi. J'ai eu un problème similaire, j'ai donc décidé de tester 3 situations:
Tous les résultats étaient comme prévu.
Au lieu de parcourir les didacticiels, j'ai trouvé plus facile de l'essayer, donc je l'ai fait. Ma conclusion: chaque fois que vous incluez un fichier JS externe dans votre page HTML, le contenu du JS externe est "copié / collé" dans votre page HTML avant que la page ne soit rendue. Ou dans votre page PHP si vous voulez. Veuillez me corriger si je me trompe ici. Merci.
Mes fichiers d'exemple suivent:
JS EXTERNE:
HTML 1:
HTML 2
la source
Je pense que vous devriez utiliser le "stockage local" plutôt que des variables globales.
Si vous craignez que le "stockage local" ne soit pas pris en charge dans les navigateurs très anciens, envisagez d'utiliser un plug-in existant qui vérifie la disponibilité du "stockage local" et utilise d'autres méthodes s'il n'est pas disponible.
J'ai utilisé http://www.jstorage.info/ et j'en suis satisfait jusqu'à présent.
la source
Vous pouvez créer un objet json comme:
dans fileA.js
Et accédez-y depuis fileB.js comme:
globalVariable.example_attribute
la source
Salut pour transmettre les valeurs d'un fichier js à un autre fichier js, nous pouvons utiliser le concept de stockage local
Fichier Two.js
Fichier Three.js
la source
Si vous utilisez node:
values.js
:Ensuite, importez-le simplement au besoin en haut de chaque fichier dans lequel il est utilisé (par exemple
file.js
):la source
// Fichier Javascript 1
// Fichier Javascript 2
N'oubliez pas de lier vos fichiers JS en html :)
la source