我有一个很大的验证JS脚本.我想把这个脚本作为外部JS.
一切正常,但在JS中我使用cookie来处理我的用户表单连接.
此外,我在这个JS中使用PHP.
如果在HTML中的JS,那么工作.但如果我把它放到外部,那么没有.
例如:
外部JS:
$(document).ready(function() {
var test = $.cookie('tet');
$.cookie('tet','8');
<?php
if (isset($_SESSION['main_check_a'])) {
echo "$.cookie('tet','1');";
?>
}}
Run Code Online (Sandbox Code Playgroud)
}
我如何将这个PHP代码传递给我的外部JS?
你需要
让PHP解析JS文件,命名它filename.js.php或更改服务器的PHP配置来解析.js文件.但这不是最佳选择,因为将为每个脚本请求启动资源密集型PHP实例.
或者,更好的IMO,在嵌入文档中的<script>标记中进行必要的检查,并将结果存储在嵌入式外部脚本可以查询的JS变量中.这样,您的脚本文件可以保持静态.
在你的情况下,这将意味着这样的事情.在主要文件中:
<script>
<?php
echo "main_check_a = ";
echo (isset($_SESSION['main_check_a']) ? "true" : "false");
?>
</script>
.... now, include external JS files ....
Run Code Online (Sandbox Code Playgroud)
这将为main_check_a您提供可在外部脚本中使用的JavaScript变量.