Um monte de meu código JavaScript está em um arquivo externo chamado helpers.js. Dentro do HTML que chama esse código JavaScript, preciso saber se uma determinada função do helpers.js foi chamada.
Eu tentei criar uma variável global definindo:
var myFunctionTag = true;
No escopo global, tanto no meu código HTML quanto no helpers.js.
Aqui está a aparência do meu código 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>
O que estou tentando fazer é viável?
<script>
bloco de tags. Eu apenas tentei duas abordagens diferentes (sem declarar a var antes do arquivo helpers.js) e ambas funcionaram. Vou postar uma resposta, mas parece que algumas informações importantes estão faltando na sua pergunta.Respostas:
Você precisa declarar a variável antes de incluir o arquivo helpers.js. Simplesmente crie uma tag de script acima do include for helpers.js e defina-a lá.
fonte
A variável pode ser declarada no
.js
arquivo e simplesmente referenciada no arquivo HTML. Minha versão dehelpers.js
:E uma página para testá-lo:
Você verá que o teste
alert()
exibirá duas coisas diferentes e o valor gravado na página será diferente na segunda vez.fonte
OK, pessoal, aqui está o meu pequeno teste também. Como tive um problema semelhante, resolvi testar três situações:
Todos os resultados foram os esperados.
Em vez de navegar nos tutoriais, achei mais fácil testá-lo, por isso o fiz. Minha conclusão: sempre que você incluir um arquivo JS externo em sua página HTML, o conteúdo do JS externo será "copiado / colado" em sua página HTML antes que a página seja renderizada. Ou em sua página PHP, se quiser. Por favor, corrija-me se estiver errado aqui. Thanx.
Meus arquivos de exemplo são os seguintes:
JS EXTERNO:
HTML 1:
HTML 2
fonte
Eu acho que você deveria estar usando "armazenamento local" em vez de variáveis globais.
Se você está preocupado com o fato de que o "armazenamento local" pode não ser suportado em navegadores muito antigos, considere usar um plug-in existente que verifique a disponibilidade do "armazenamento local" e use outros métodos se ele não estiver disponível.
Eu usei o http://www.jstorage.info/ e estou feliz com isso até agora.
fonte
Você pode criar um objeto json como:
em fileA.js
E acesse-o em fileB.js como:
globalVariable.example_attribute
fonte
Oi para passar valores de um arquivo js para outro arquivo js, podemos usar o conceito de armazenamento local
Arquivo Two.js
Arquivo Three.js
fonte
Se você estiver usando o nó:
values.js
:Em seguida, importe-o conforme necessário na parte superior de cada arquivo em que é usado (por exemplo,
file.js
):fonte
// arquivo Javascript 1
// arquivo Javascript 2
Não se esqueça de vincular seus arquivos JS em html :)
fonte