[英]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.