繁体   English   中英

我可以从php文件加载javascript吗?

[英]Can I load javascript from a php file?

我可以这样做吗?

<script src="/js/custom-user.php" type="text/javascript"></script>

其背后的原因是,当用户未登录时,我希望.php文件为die(),以便其他访问者(未经过身份验证)无法查看javascript的外观。 这样做可能/安全吗?

是的,但我确实有两条建议。 首先,在您的情况下,最好只在用户登录时输出<script> 。严重的是,您不希望输出您的东西真正知道或关心用户是否已登录。

如果你在PHP中输出js,那么你应该包含适当的标题:

header("Content-type: text/javascript"); 

// either readFile or custom stuff here.
echo "alert('i canz have data!')";
// or, if you're less silly
readFile('/path/to/super-secret.js');

实际上,我曾经有过PHP的CSS输出(哦,你也可以这样做),它基于get变量完全改变了。 我真的可以:

rel="stylesheet" type="text/css" href="css.php?v=#FF0000">

并且它将使用#FF0000作为基色来完全重新定义网站中的配色方案。 我甚至把它挂在了imagemagick并重新着色了网站徽标。 它看起来很可怕,因为我不是设计师,但它真的很整洁

当然,只要引用的php文件在下载时发送适当的content-type标题。

是的,你可以做到这一点,这是安全的。

在custom-user.php中,您必须设置正确的Content-Type标头:

header('Content-Type: text/javascript');

然后输出javascript:

readfile('script.js');

是的,但是......你最好这样做:

<?php
if ($loggedIn) { echo '<script src="/js/custom-user.js" type="text/javascript"></script>'; }
?>

这样可以防止加载空文件。 所有函数都应该放在外部文件中,如果你想要一些特定的javascript更改,请在HEAD SCRIPT中创建一个代码

是的,那会有效。

这就是JavaScript minifiers能够动态地为缩小的脚本提供服务的方式。 (例如http://code.google.com/p/minify/

你可以,但它会减慢你的页面,因为每次有人访问你的页面modphp将不得不运行你的php / javascript脚本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM