11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

je cherche à récupérer une variable javascript d'un fichier à un autre.

j'ai un fichier js.php qui génère deux variables lat et lng via deux variables de session initialisées dans un fichier index.php.

j'ai un autres fichier map.js qui fait 800 lignes de code, qui fait des requettes de bdd via ajax et qui commance par la définition de deux variables :
var deflat = 43.6048;
	var deflng = 1.442882;

or, je voudrais pouvoir charger le fichier js.php que voila :
session_start();

if(isset($_SESSION['lat'])){	


	echo 'var deflat = '.$_SESSION['lat'].';' ;
	echo 'var deflng = '.$_SESSION['lng'].';' ;

}

pour récupérer les variables deflat et deflng dans main.js à la place de celles définies en dur.

Pour résumer, je cherche à récupérer une variable javascript d'un fichier .js à un autre.
Hello manapanu et bienvenue Smiley cligne ,

pas sûr d'avoir bien compris ta question (notamment main.js = map.js ?) mais dans une même page il suffit de déclarer tes variables JS au tout début pour quelles soient accessibles dans tous les scripts...

Un exemple :
<?php
session_start();
$deflat = 43.6048;
$deflng = 1.442882;
if(isset($_SESSION['lat'])) {	
	$deflat = $_SESSION['lat'];
	$deflng = $_SESSION['lng'];
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
...
<script type="text/javascript"><!--
var deflat = <?php echo $deflat; ?>;
var deflng = <?php echo $deflng; ?>;
//--></script>
<script type="text/javascript" src="map.js"></script>
</head>

Si ça ne répond pas à ta question il faudra donner plus de précisions...

A+
Modifié par Heyoan (04 Aug 2008 - 02:54)
En repassant par là, cela revient à avoir :

index.php
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
...
<?php include('map.js.php'); ?>

</head>

map.js.php
<?php
$deflat = 43.6048;
$deflng = 1.442882;
if(isset($_SESSION['lat'])) {	
	$deflat = $_SESSION['lat'];
	$deflng = $_SESSION['lng'];
}
?>
<script type="text/javascript"><!--
var deflat = <?php echo $deflat; ?>;
var deflng = <?php echo $deflng; ?>;
//--></script>
<script type="text/javascript" src="map.js"></script>