1

PHPでかなり小さなWebアプリケーションを作成していて、DOJOを使用して「ファンシー」にし、クライアント側で検証を処理する予定です(サーバー側の検証もあります)。

JavaScriptを自分のサイトの要件にしたいので、ユーザーのブラウザでJavaScriptが無効になっている場合、またはJavaScriptに対応していない場合、ユーザーはサイトをまったく使用できず、通知するメッセージを受け取る必要があります。この要件。

他のサイトがこれを行っているのを見たことがありますが、それを強制する方法がわかりません。
たとえば、username=userおよびpassword=userhttp://demo.actitime.com/login.do?username=userを使用してここにログインしてみてください

次に、これと同じことがすべてのページで発生するようにします。

助けていただければ幸いです。

occhiso

4

8 に答える 8

21

これは賢明なアプローチではないと思います。

javascriptを持たないユーザーもサイトにアクセスできるように、サイトにもう少し力を入れてください。彼らがあなたの顧客であることを忘れないでください。そして、彼らはおそらくjavascriptを無効にする正当な理由があります。

于 2009-01-26T09:35:44.030 に答える
5

ご存知のとおり、年は1997年ではなく、2009年です。これらのハッキングは過去のものであり、死んで、汚物のように埋められています。

有用な答えとして:優雅な 劣化について読んでください。

あなたの答えについて:CSSは、Javascriptをまったく使用せずにDOJOで行っていること(少なくとも、あなたが言及していること)を達成できます。javascriptが有効になっていない場合は、サーバーへのラウンドトリップが必要になります。それだけです。'logic'の意味はわかりませんが、この用語の標準的な意味は、javascriptを使用するよりも、PHPとおそらくテンプレートシステムを使用した方が適切です。

ラウンドトリップなしの入力検証は素晴らしいですが、JavaScriptがないか使用できない場合は、サーバー検証はフリッキンサイトなしよりも優れています。

はい、それは本当に悪いです。

編集:Sponsz大佐は優雅な劣化についての別の有用なリンクを指摘しています。

于 2009-01-26T09:59:09.817 に答える
4

2つのことが頭に浮かびます。

  • <noscript>コンテンツにタグを使用します。と
  • そのWebサイトの場合、および同様の機能のために、送信ボタンを使用する代わりに、onclickハンドラーを備えた通常のボタンを使用します。

    <input type = "button" onclick = "documents.forms [0] .submit();" value="送信">

Javascriptを有効にしないと送信できません。

于 2009-01-26T09:34:42.037 に答える
4

これに対する唯一の適切な応答は、「なぜあなたはしたいのですか?」です。

実際、より良いアプローチは、最初にそれを機能させてから、後で派手なjavascriptビットを追加することです。このようにして、JavaScriptを無効にしているユーザーは、機能が制限されている場合でも、JavaScriptを使用できます。

于 2009-01-26T09:40:40.963 に答える
1

一部の上級ユーザーは、デフォルトでJavaScriptを無効にし、Webサイトごとに有効にします。さらに進むにはJavaScriptが必要であることを警告します。JSがない、またはJSが無効になっているブラウザにテキストを表示するために使用します。

<noscript>
    <p style="color: Red;">Warning: JavaScript is required to display anything after you login. Please enable JavaScript or use a different browser</p>
</noscript>
于 2009-02-04T01:40:59.547 に答える
1

Ajaxを使用してデータをリダイレクトまたは送信することにより、サイトにアクセスするブラウザーでセッション変数を有効にするスクリプトをページに配置するだけで、その変数を有効にするページに移動できます。次のクリックyで、セッションにセッション変数がない場合は、別のページにリダイレクトします。このページは、JavaScript対応のブラウザーを要求します。

于 2009-01-26T10:37:56.870 に答える
0

理由の 1 つは、同じタスクをさまざまな方法で実行できるようにする、タブ付きのインターフェイスが必要だったからです。多くの同じロジックが「タブごと」に使用されるため、別のページに分割したくありませんでした。

Dojo を使用すると、すべてのコンテンツを同じページに個別の div として配置し、dojo が各 div を独自のタブに配置することで、これを非常に簡単に実現できます。JavaScript がないと、すべてのタブ (div) が一度に表示されます。

このようなちょっとした問題がいくつかあります。これを要件にすると、常に動作し、見栄えがよくなり、JavaScript を使用していないサイトは見逃してしまうと思いました。これは決してミッション クリティカルなサイトではないことを念頭に置いてください!

また、これは、ユーザーがページをリロードしなくても、入力の検証を強制できることを意味します。

それは本当に悪いですか?

于 2009-01-26T09:54:32.900 に答える
0

私が考えることができる最善の理由は、人々が Java スクリプト ベースのブラウザーを使用せずにフォームにアクセスして使用するのを止めて、カウンターから隠れるようにすることです。

たとえば、誰かがキャプチャを使用してもスパムを送信し、javascript を有効にしないことで isp を隠している場合 (多くのカウンターはそれに依存しています)、Web サイトで JavaScript 以外のブラウザーをすべて禁止することをお勧めします。

実際、そうなると思います。

いいアイデア「おっちそ」。

于 2009-07-18T20:30:10.977 に答える