Arquivo

Textos com Etiquetas ‘passar parâmetros’

Como passar parâmetros para um arquivo js

Olá!

Num dia destes eu precisei criar um arquivo js com parâmetros de configuração variáveis para cada caso específico.

Como uma solução pratica e rápida, eu costumava criar um arquivo php que gera o código do js, e assim eu poderia passar variáveis em get, no formato

arquivo.js.php?parametro=***&parametro2=*** etc

A questão é que ao editar este arquivo, não é muito agradável, principalmente se for muito longo, porque o arquivo é um PHP e os códigos javascript se tornam apenas textos simples para o editor (beleza, isso é o de menos ;) ).

A idéia era passar parâmetros como fazemos com php, via get, da forma arquivo.js?parametro=valor&parametro2=valor… Pois bem, isso não é possível (até dá, mas você vai dar a volta ao mundo!).

Depois de fazer uma busca no Google por “Como passar parâmetros para um arquivo js”, e não achar nada satisfatório, parei para pensar um pouquinho, e encontrei uma solução muito simples: definir as variáveis antes de chamar o arquivo .js

Simples assim:

<script type="text/javascript">
// Aqui defino os parâmetros/variáveis, que por sua vez podem ser escritos pelo php
var par1 = "valor1";
var par2 = "valor2";
// e assim por diante... e em qualquer parte do código após este bloco, faço a chamada do arquivo javascript que vai herdar as variáveis
</script>
<script type="text/javascript" src="js/arquivo.js"></script>

Dessa forma se torna muito simples passar variáveis, por exemplo, do php para o javascript, assim:

var par = "<?=$variavel?>";

Ou ainda, se quiser passar um número variável de parâmetros:

<script type="text/javascript">
//Passamos o parâmetro como um vetor para ser trabalhado no arquivo .js
var par = new Array();
<?php
for($i=0;$i<sizeof($array);$i++){
echo par[$i]." = ".$array[$i];
}
?>
</script>
<script type="text/javascript" src="js/arquivo.js"></script>

Agora é só adaptar o código às suas necessidades. ;)

Espero que esse artigo tenha sido últil! Deixe um comentário!

Até o próximo!

SEO Powered by Platinum SEO from Techblissonline