将 PHP 变量访问到外部 JavaScript 文件中
access php variable into external javascript file
我将var值获取到php代码中。我想将其访问到包含的测试.js文件中。
<?php
session_start();
$var=$_SESSION['my_id']; // I want to access $var into test.js included below
?>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="test.js"></script>
<!-- AddThis Smart Layers END -->
</head>
<input type="submit" onclick="func();"> Button </input> //This function call test.js
<body>
如何在测试.js中访问$var?
将其作为参数传递:
<input type="submit" onclick="func('<?php echo $var; ?>');">
测试中.js:
function func(param){
console.log(param); // contents of $var
}
或者全局设置:
<script>
var param = "<?php echo $var; ?>";
</script>
你可以
这样使用-
<?php
session_start();
$var=$_SESSION['my_id'];
?>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var my_id_j = '<?php echo $var; ?>';
</script>
<script type="text/javascript" src="test.js"></script>
<!-- AddThis Smart Layers END -->
</head>
<input type="submit" onclick="func();"> Button </input> //This function call test.js
<body>
在这里,我在包含测试之前添加了以下行.js。
<script type="text/javascript">
var my_id_j = '<?php echo $var; ?>';
</script>
在这种情况下,变量my_id_j是全局变量,可以在测试中访问.js
有两种方法可以处理这种情况:
通常的情况:将其作为函数中的参数传递
例:
<?php $myvar = 'Hello'; ?>
// other code
<script type="text/javascript" src="yourfile.js"></script>
// and when you are about to call the function:
<input type="submit" onclick="func('<?php print $myvar; ?>');">
相当特殊的情况:加载JS文件并替换特殊值。
过去,有些情况我无法做到上述工作。我现在不记得有什么简单的例子,但我所做的是这样的:
<?php
$my_var = 'Hello';
$my_script = file_get_contents('path/to/file.js');
$my_script = str_replace('%SPECIAL_VALUE%', $my_var, $my_script);
print '<script type="text/javascript">'.$my_script.'</script>';
?>
然后我能够通过做以下事情来简化我的Javascript:
var myvar = '%SPECIAL_VALUE%';
alert('%SPECIAL_VALUE%');
你必须先将变量传递给javascript:
<script type="text/javascript">
var variable = "<?=$_SESSION['my_id'];?>";
</script>
<script type="text/javascript" src="test.js"></script>
然后,您可以在test.js
内将其用作variable
或window.variable
。
你可以
这样做:
<?php
session_start();
$var=$_SESSION['my_id']; // I want to access $var into test.js included below
?>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript>
var myJsVar = "<?php echo $var;?>";
</script>
<script type="text/javascript" src="test.js"></script>
<!-- AddThis Smart Layers END -->
</head>
<input type="submit" onclick="func();"> Button </input> //This function call test.js
<body>
现在你可以通过myJsVar访问var
相关文章:
- 使用压缩的JavaScript文件(不是运行时压缩)
- 如何包含特定于每个视图angularjs的javascript文件
- 将数据从javascript文件导入VB.Net页面
- Chrome加载旧版本的Javascript文件
- 操作员”;新的“;根据我想在几个JavaScript文件中使用的类,在JavaScript中使用
- gulp-if-javascript文件,但不在gulp-useref的特定目录中
- 如何在visualstudio中调试web api时编辑javascript文件
- 关于引入外部javascript文件的问题&css通过https
- 有没有办法在tinymceiframe中加载一个外部javascript文件
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 在一个javascript文件中为整个网站创建标签
- 如何在定义js文件后为外部javascript文件设置变量
- 显示IIS上javascript文件(SOAP请求)的XML响应
- ResolveUrl没有'我似乎不适合当链接到具有动态虚拟目录的外部javascript文件时
- 我应该将MVC视图特定的javascript文件放在哪个文件夹中
- Django'支持Javascript文件中的翻译
- MVC正在忽略我的Javascript文件
- 为什么不't我的ruby代码与javascript文件一起插入
- 在Javascript文件中获取PHP变量
- 如何在Windows中将Javascript文件编译成二进制文件