2011-09-10 7 views
0

Webサイト(php)を使用しているときにユーザーのブラウザでJavaが有効かどうかを検出したいと思います。PHPがJavaを有効にしているかどうかを確認することができます

javaを有効にすると、別のdivがロードされていない場合、特定のdivがウェブサイトに読み込まれます。

私は次のようにしますPHPヘッダーファイル内

:(それは、Javaが有効になっているかどうかをチェックどの負荷)

<?php $no_java=0;?> 

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

これ見ることができない1ピクセル透明画像により1ピクセル見ることができるテキストボックスよりも優れています。

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

私は数カ月間PHPでプログラミングしています。私はif(java_checker==1)が正しくないと知っていますが、フォームなどを提出することなく値をチェックする方法がわかりません...

誰でも私にそれを行う方法を教えていただけますか? PHPの一部が<noscript>タグに関係なく、ロードするように思えるので、:(

任意のアイデア?それとも私は、Javaがそう何を行うことがないことをPHPを「伝える」ことができるか、他のアイデアvalue="<?php $no_java=1;?>"は ...

良いではありません
+0

あなたはそれをどうしたいですか? –

+0

ユーザーのコンピュータでjavaが有効になっていない場合でも、javaなしでWebサイトを使用できます。すべてがPHPとJavaでプログラミングされています。もしjavaがなければ、PHPはWebサイトに完全に参加します。 – muttley8226

+0

JavaまたはJavaScript? – wgcrouch

答えて

1

あなたはそれを間違った方法を取っている。

それはあなたがJavascriptをが有効になっていますが、JS自体にかどうかを検出する必要はPHPではありません。

、ちょうどあなたのPHPは、常に有効にするが、JSは、あまりにも存在する場合仕事を取らせてください。簡単

2

PHPはサーバ側言語であり、Javaアプレットはブラウザの内部で実行されますが、です。

つまり、PHPは、ユーザエージェントに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の有無にかかわらずウェブサイトをうまく機能させるプロセスを「Graceful Degradation」と呼びます。あなたはそれについて他の場所で読むことができます。

JavaScriptが有効かどうかをPHPが判別する方法はではありません。があります。これはあなたが$javascript_enabled = $_GET['js'] === 'enabled';を言うとJSが有効かどうかを判断できるようになる

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

:少なくとも複雑な問題を回避するには、次のようになりますこれは、テストページを作成することです。

これは非常に間違っているアプリケーションを構築する方法のです。どちらの場合も考慮する必要があります。

+0

すべての返信ありがとうございます。私はそれらを考慮し、それに応じて行動する。 – muttley8226

+0

私はそれを別に解決しました。 jqueryとshow()hide()APIを使用しました。 javaを有効にすると特定のdivが表示され、非表示になります。だから私はjavaが有効かどうかを確認する必要はありません。 – muttley8226

関連する問題