我需要我的服务器来发送 JS 文件,但我需要它实际上是 PHP 生成的文件。
我正在使用 Apache 和 PHP。
所以这个函数名为
doSomething(){
};
可
doSomething(){
<?php
if(registeredUser()){
echo "Doing something!";
}
?>
};
我需要我的服务器来发送 JS 文件,但我需要它实际上是 PHP 生成的文件。
我正在使用 Apache 和 PHP。
所以这个函数名为
doSomething(){
};
可
doSomething(){
<?php
if(registeredUser()){
echo "Doing something!";
}
?>
};
给文件一个 php 扩展名,但像普通 JavaScript 一样加载它
<script type="text/javascript" src="/javascript.php"></script>
在 PHP 文件中发送正确的内容类型:
header("content-type: text/javascript");
这允许您的服务器使用 PHP 创建 JavaScript。
你不需要做任何魔术。浏览器不关心是什么创建了 Javascript,只要 Javascript 是有效的!
也就是说,您应该发送正确的Content-type
标头:
header('Content-type: text/javascript');
您可以通过简单地使用 PHP 文件作为脚本的src
属性来做到这一点:
<script src="myfile.php"></script>
但是,从资源的角度来看,运行另一个 PHP 脚本并不理想。另一个 PHP 进程被触发,你必须处理缓存等。
考虑您的 JS 文件中是否不能包含静态代码,并在您的主文件中设置您正在检查的条件,无论如何您都在其中运行 PHP。
在 JavaScript 文件 (myfile.js) 中:
function doSomething()
{ if (logged_in) do_something() }
在主文件中<head>
,执行:
<script>
<?php if (registeredUser()): ?>
logged_in = true;
<?endif; ?>
<script>
然后像往常一样包含静态 JS 文件。