簡體   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