下面是我在 jquery 和 PHP 中看到的代码的一小段。
请注意第 5 行的 PHP 部分,我通常将 javascript 放入单独的文件中,那么我如何才能将 JS 保存在单独的文件中,但在需要时仍然使用 PHP,如下所示?
//when the DOM is ready
$(document).ready(function(){
//settings on top
var domain = 'http://davidwalsh.name/';
var initialPosts = <?php echo get_posts(0,$_SESSION['posts_start']); ?>;
//function that creates posts
var postHandler = function(postsJSON) {
$.each(postsJSON,function(i,post) {
我一般做的是:
- 在 .js 文件中放入尽可能多的 JS(用于客户端缓存等)
- 此 JS 代码使用 JS 变量
- 该 JS 变量是从 PHP 文件声明/初始化的;实际上,这是唯一需要在服务器端执行一些代码的部分
例如,我想我会有这样的东西:
我的文件.php :
var thisIsMyJSVar = '<?php echo $test; ?>';
因此,在 PHP 中,我们声明变量并设置其值。这是“动态”部分。
并且,在 my-file.js 中:
//when the DOM is ready
$(document).ready(function(){
//settings on top
var domain = 'http://davidwalsh.name/';
var initialPosts = thisIsMyJSVar; // Use the JS variable declared in the PHP file
//function that creates posts
var postHandler = function(postsJSON) {
$.each(postsJSON,function(i,post) {
这里,在静态 JS 文件中,我们只使用值 ;这里没有什么是动态的,并且该文件可以由客户端缓存——而不会在每个页面上重新下载。
这个想法的问题是 JS 文件依赖于 PHP 文件中完成的一些初始化:-(
因此,在 JS 文件中设置一个“默认值”可能是个好主意,以防万一......
另外,你必须有一个良好的命名约定,不要有多个文件使用/声明/依赖于同一个 JS 变量;实际上,将所有“配置变量”放入单个 javascript 对象中可能是一个好主意,以免污染全局名称空间......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)