I want to make some thing like this
my-php-file.php
$lang = 'es';
my-js-file.js
if ($lang == es)
{
something-magical-happens;
}
or like this:
if (URL == www.mydomain.com/index.php?lang=es)
{
something-magical-happens;
}
you could generate js on-the-fly
my.js.php:
<?php echo "//Yes." ?>
var i = "<?php echo $_GET['lang']; ?>";
function doSomethingWithI(){
alert(i);
}
Now, try to include
<script type="text/javascript" src="my.js.php?lang=es"></script>
in your html and you'll see :)
Edit: Check it in action here: http://h.kissyour.net/so/phpjs/
Edit: Edited example on my server to closer resemble what I wrote here.
Edit: Oh yes. Don't forget to clean your code!
In this specific case, why not simply properly set the document language and then look at that using JavaScript?
<html lang="es">
And in the script:
if (document.documentElement.getAttribute('lang') === 'es') { alert('Spanish'); }
You can – as the accepted answer indicates – generate entire javascript files with PHP. But if you are just trying to access some limited dynamic content, this is often overkill. If you are just trying to access a few variables that need to be PHP generated, inline javascript works fine. Add this to your HTML's head:
<script type="text/javascript">
<?php if( $condition == true ) : ?>
var variable1 = <?php $var1 ?>,
variable2 = <?php $var2 ?>;
<?php else: ?>
var variable1 = <?php $var1Alt ?>,
variable2 = <?php $var2Alt ?>;
<?php endif; ?>
</script>
Just make sure you add this before any linked scripts depend on these variables.