2011-09-10 41 views
0

我想檢測當用戶的瀏覽器使用我的網站(php)時是否啓用了java。我可以檢查Java是否啓用了PHP

如果啓用java,則在網站上加載某個div(如果不是另一個div加載的話)。

我執行以下操作:

在PHP頭文件

:(所以它檢查任何負載的java是否被啓用)

<?php $no_java=0;?> 

<noscript><input type="image" src="whatever.jpg" id="java_checker" value="1"></noscript> 

不能看出這是一個由透明1px的圖像1px的但它比可以看到的文本框更好。

if(java_checker==1){ 
    $no_java=1; 
}else{ 
    $no_java=1 
} 

我已經用PHP編程了幾個月了。我知道if(java_checker==1)是不正確的,但我不知道如何檢查價值沒有提交表格等...

任何人都可以告訴我該怎麼做?該value="<?php $no_java=1;?>"並不好,因爲PHP的一部分,似乎無論加載到<noscript>標籤:(

任何想法?或任何其它想法如何,我可以「告訴」 PHP是沒有的java等做什麼...

+0

你想要什麼? –

+0

如果用戶的計算機上未啓用Java,則仍然可以在不使用Java的情況下使用該網站。一切都是在PHP和Java編程,如果沒有Java,那麼PHP在網站上全部參與。 – muttley8226

+0

Java還是JavaScript? – wgcrouch

回答

1

你把它錯了。

這不是在PHP中,你必須檢測是否的Javascript啓用,但JS本身。

只是讓你的PHP始終處於啓用狀態,但如果JS是存在過,讓它需要一些工作。容易

2

PHP是服務器端語言而Java applet運行在瀏覽器內。

這意味着PHP無法直接檢測 useragent是否安裝了Java插件。從理論上講,如果有一個相關的HTTP請求頭,它可能沒有。

充其量,PHP可以發出JavaScript,然後在瀏覽器中運行一些測試並通過AJAX向服務器報告。

有關詳細信息,請參閱How can I detect the Java runtime installed on a client from an ASP .NET website?

1

首先,我認爲你對Java和JavaScript之間的困惑。缺少JavaScript處理<noscript>標籤,但我想這種方法也適用於「Java小程序」。

這裏的關鍵思想是,PHP對瀏覽器的唯一信息是「User Agent」字符串。這指定了這是哪個瀏覽器。使用或不用Javascript使網站正常工作的過程稱爲「優雅的退化」。你可以在其他地方閱讀。

讓PHP知道JavaScript是否啓用的方式。最不復雜的解決辦法是建立一個測試頁面,它看起來像這樣:

<html> 
<script type="text/javascript"> 
    window.location.href = "myapp.php?js=enabled"; 
</script> 
<noscript><a href="myapp.php?js=disabled">Click here to continue</a></noscript> 

這將允許你說$javascript_enabled = $_GET['js'] === 'enabled';,並確定JS是否啓用。

請注意,這是一個非常錯誤的構建應用程序的方法。你需要考慮這兩種情況。

+0

謝謝你的回覆。我考慮他們並採取相應行動。 – muttley8226

+0

我已經解決了它的不同。我使用jQuery和show()hide()API。當啓用java時,它會顯示並隱藏某些div,否則只顯示非java的顯示。所以我不需要檢查java是否啓用。 – muttley8226

相關問題