我有一个JavaScript文件,我想包含一些PHP代码.问题是我在PHP上有一些我想在JS上使用的定义.
有没有办法在HTML中包含一个.js文件,允许服务器首先使用php解释它(在下载到客户端之前)?
谢谢 :)
Cfr*_*eak 31
<script src="/path/to/my/file.php"></script>
Run Code Online (Sandbox Code Playgroud)
在file.php您输出任何内容之前,您还需要输出正确的标题,您应该具有以下内容:
header("Content-Type: application/javascript");
Run Code Online (Sandbox Code Playgroud)
编辑:正如@Tony_A指出的那样,它应该是application/javascript.当我在2010年写这篇文章时,我不认为这很重要:)
Pet*_*son 12
创建一个名为javascript-test.php的php文件
<?php
header('Content-type: application/javascript');
$php = 'Hello World';
echo "alert('$php');";
?>
Run Code Online (Sandbox Code Playgroud)
然后链接到您的PHP,就像它是一个JavaScript文件:
<script type="text/javascript" src="javascript-test.php" />
Run Code Online (Sandbox Code Playgroud)
如果你需要你的php文件扩展名为.js,那么你的服务器配置就可以了.
Pek*_*ica 11
当然,最容易使它成为一个js.php文件.
但是,如果可能,请考虑另一种方法:在包含外部脚本文件之前将PHP定义提取到JavaScript中:
<script>
define1 = <?php echo YOUR_DEFINE1; ?>
define2 = <?php echo YOUR_DEFINE2; ?>
</script>
<script src="....."> // This script can now use define1 and define2
Run Code Online (Sandbox Code Playgroud)
这样,外部JavaScript仍可以作为静态内容提供,不需要通过PHP运行.这是资源密集度较低的.
没有经过测试,但可能有效:
<script lang="text/javascript" src="path/to/your/script.php" ></script>
Run Code Online (Sandbox Code Playgroud)
尝试将脚本.php作为文件扩展名.
您也可以在服务器级别执行此操作.假设您正在使用apache,您可以将此行添加到您的配置中(即使您的.htaccess也可以):
AddType application/x-httpd-php .js
你也可以用css甚至普通的'html页面来做到这一点.
我确信其他服务器软件具有类似的功能.
| 归档时间: |
|
| 查看次数: |
14787 次 |
| 最近记录: |