我正在尋找某種技巧來確定用戶是否擁有javascript ...我想我可以通過在頂部發送ajax請求以某種方式做到這一點一個頁面,並在該Ajax請求,設置會話變量,然後以某種方式重新加載頁面,並看到它被設置...尋找一個Ajax或PHP技巧來檢測他們是否有Javascript
PHP/AJAX有這樣的技巧嗎?
我正在尋找某種技巧來確定用戶是否擁有javascript ...我想我可以通過在頂部發送ajax請求以某種方式做到這一點一個頁面,並在該Ajax請求,設置會話變量,然後以某種方式重新加載頁面,並看到它被設置...尋找一個Ajax或PHP技巧來檢測他們是否有Javascript
PHP/AJAX有這樣的技巧嗎?
你可以使用一個非常簡單的提示:
<script>document.location="/index2.php";</script>
<p>You need javascript for an improved navigation!</p>
在當前頁面(我假設是的index.php)僅用於訪問者重定向到實際的索引頁:index2.php
或使用get_browser它爲javascript提供了一個字段。我用firefox測試了它(禁用js而不是),它對我來說工作得很好。
你應該設置`window.location.href`而不是`document.location` – Christoph 2009-06-23 23:18:20
$results = get_browser();
if ($results["javascript"] == 1) {
echo "You have javascript";
}
(source)
您可以隨時使用腳本標記:
<noscript>
<input type="hidden" name="has_javascript" value="false">
</noscript>
,並檢測到服務器上。
你可以做的是添加這樣的代碼(沒有AJAX需要):
<meta http-equiv="refresh" content="2;URL=/?nojs" />
<script type="text/javascript">
window.location.href="/?js";
</script>
然而,你不應該這樣做。相反,每次都提供基本網站,並使用script
元素對其進行裝飾,以加載修改和添加動態內容的所有JavaScript。
aif是錯誤的。 即使JS被禁用,如果您的瀏覽器支持JS,它將被列爲javascript = 1。
你在這裏的最終目標是什麼?你只是想知道在客戶端(對於CSS或其他)或在服務器端?無論哪種方式,這是一個騙局... – 2009-06-23 23:14:58
許多答案已經試圖回答這個問題,但你可能會問錯誤的問題。建立在工作的東西:http://icant.co.uk/articles/pragmatic-progressive-enhancement/ – Quentin 2009-11-30 15:48:07
可能的重複[如何禁用javaScript的重定向?](http://stackoverflow.com/questions/2489376/how-to-redirect-if-javascript-is-disabled) – 2012-09-28 23:38:07