![](/img/trans.png)
[英]A way to detect if JavaScript is disabled without using noscript?
[英]PHP detect disabled JavaScript using image request
我正試圖通過在noscript
元素內放置圖像來毫不干擾地檢測何時禁用JavaScript。 我不確定我在正確的道路上,盡管我不確定應該准確回顯哪些數據。
<noscript><img alt="" src="images/noscript.gif" /></noscript>
下面的base64編碼數據只是一個1x1透明GIF圖像。
header('HTTP/1.1 200');
header('Content-type: image/jpeg');
echo 'data:image/gif;base64,R0lGODlhAQABAIAAAP8A/wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==';
我該怎么做才能確保我可以讓PHP截獲圖像請求並成功在頁面上顯示圖像(顯然在禁用JavaScript的情況下)?
<noscript><img alt="" src="path_to_script.php"/></noscript>
腳本:
header('HTTP/1.1 200');
header('Content-type: image/gif');
echo base64_decode('R0lGODlhAQABAIAAAP8A/wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
您可以將src
屬性設置為PHP文件的鏈接:
<noscript><img alt = "" src = "[stuff].php" /></noscript>
另外,我不知道PHP服務器如何工作,但是在Python TCPServers和UDPServer中,服務器由具有此handle()
方法的類運行,該方法從客戶端接收數據,然后將數據發送回去。 該數據可以與該鏈接的實際文件完全獨立。
如果在PHP中相同,那么您可以從images/noscript.gif
鏈接請求,甚至沒有images/noscript.gif
文件,然后從PHP文件發送回數據。
啊,我忘了我可以在服務器上解碼圖像。 關鍵是讓客戶端發出HTTP請求,否則服務器將無法識別服務器,因此無法記錄已禁用JavaScript。
<?php
header('HTTP/1.1 200');
header('Content-type: image/gif');
echo base64_decode('R0lGODlhAQABAIAAAP8A/wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.