<?php
echo "<script>alert('我彈出來了')</script>";
?>
很簡單你一句話就可以在PHP里面輸出JS腳本讓瀏覽器執行。
今天碰到一個很詭異的問題,就是這段代碼在Chrom和firefox下至少單純的輸出字符串,沒有執行,沒有彈出alert。
原理:
MIME chrome對text/plain 不做解析的。php利用header可以輸出html ,瀏覽器用最后一次輸出header作為content-type
header('Content-Type:text/html;charset=utf-8');
在做圖片輸出,我用到了一個網上的類ThumbHandler.php,這個類的_output方法里有個輸出header改變了content-type;
結果導致alert不彈出,
text/plain html是不執行的。
只需要在alert前重新header即可。
if(!uploadFile()) { echo "<script>alert('上傳文件失敗')</script>"; } header('Content-Type:text/html;charset=utf-8'); echo ("<script type='text/javascript'>alert('保存成功');history.back();</script>"); //上傳圖片 function uploadFile() {