7

自分の Web サイトが信頼できるサイトとしてアクセスされているかどうかを判断することはできますか? 別の質問では、一般的に、クライアントの IE 設定を表示することは賢明ではないと判断しました。これは例外として認められますか?

私がこれをしたい理由は、サイトが信頼できるサイトとしてアクセスされていない限り (例えば、クライアント側の sendmail -- 聞かないでください)、いくつかの機能が動作しないためです。ユーザーに警告します。ページに多くの警告が表示されているにもかかわらず、多くのユーザーはまだ読んでおらず、迷惑メールを送ってきます。この状態を検出し、基本的に「警告を読んでいません。設定を変更するまで、あなたがしようとしていることが機能しません!」という大きな警告を点滅させることで、電子メールの量を減らしたいと考えています。アイデアは大歓迎です。

編集: 当店では、クライアント側の sendmail はサイトが信頼できる場合にのみ機能し、セキュリティ要件のためにそれを変更することも、サーバー側の sendmail に切り替えることもできません。ただし、これがクライアント側の sendmail が失敗する唯一の理由ではないため、単純に sendmail エラーをキャッチしてこれを判断することはできません。また、これが sendmail の議論にまで発展することを望んでいません。

4

5 に答える 5

2

使用できるテストは次のとおりです。

function isTrustedIE(){
    try{
        var test=new ActiveXObject("Scripting.FileSystemObject");
    }
    catch(e){
        return false;
    }

    return true;
}

もちろん、信頼できるサイトであっても、ユーザーがその特定のオブジェクトを無効にした場合、これは失敗します。

于 2008-10-31T20:51:08.030 に答える
0

あなたの状況(あなたが扱っている特定の問題がsendmailの失敗である場合)では、sendmailの失敗をキャッチすることをお勧めしますが、もう少し一般的な答えを出します。「あなたのメールは失敗しました。次のいずれかの理由で失敗した可能性があります」と続けて、箇条書きのリストを挿入し、「このサイトを信頼できるものにしませんでした」を先頭に太字で表示します。サイトが信頼されていないという理由以外の理由で sendmail が失敗している場合、結局のところ、ユーザーはそれについても知る必要があるかもしれません。

于 2013-03-19T21:28:49.700 に答える
0

おそらく、異常な組み合わせをサポートしながら、これに対処する良い方法は、特定の動作が成功したかどうかをテストすることです。

たとえば、次のことを行う必要がある場合

a.innerHTML = "abc"; 

次に、innerHTML が変更されたかどうかを確認できます。残念ながら、すべての機能が検出可能であることは保証できません。また、try...catch ステートメントは非常に便利です。

于 2008-11-03T19:59:38.320 に答える
0

私の理解では、これは不可能ですが、特定の技術や必要な技術が利用できるかどうかなど、より具体的な条件についていくつかの運試しがあるかもしれません。あなたのクライアント コードは、ブラウザにどのような要件を課していますか (ActiveX、Java、スクリプトなど)? これを理解することは、クライアント コードで必要な環境についてクライアント ブラウザーをテストする方法を理解するための非常に良い出発点となります。

于 2008-10-31T20:17:29.817 に答える
0

現在ログオンしているユーザーのユーザー名を尋ねることができます。それがわかれば、サイトが「信頼済みサイト」または「ローカル イントラネット」ゾーンにあることがわかります。

于 2008-10-31T22:21:16.413 に答える