2

アプリケーションでは struts 1.3 を使用しています。以下の要件があります -

ログインページにボタンがあります。今、

  1. ユーザーの PC から URL にアクセスできる場合は、ボタンを表示します。
  2. それ以外の場合は表示しないでください。

URL のアクセシビリティを確認するために、XMLHttpRequest.responseText を使用しています。以下は私のコードです:

<html>
  <head>
    <title>Test html page</title>
    <script type="text/javascript">
      function checkURL()
      {
        var xmlHttp = null;
        var theUrl = "http://www.googlewetuyyu.co.in";
        xmlHttp = new XMLHttpRequest();
        xmlHttp.open( "GET", theUrl, false );
        alert(xmlHttp.responseText);
      }
    </script>
  </head>
  <body onload="checkURL();">
    <b>Hello World!</b>
  </body>
</html>

しかし、それでもアラートボックスには何も表示されません。

【ちょっと改造中】

実際にIEで動作しています。しかし、クロムでは動作しません。解決策を提案してください。

ありがとう、カルティック

4

3 に答える 3

1

HttpUrlConnectionクラスを使用します。戻り値が 2XX の場合は、URL が PC から正常に機能していることを意味する場合は getResponseCode() です。

Apache からHttpComponents-HttpClientを使用することもできます。これを行うための短いスニペットを次に示します。

HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("url_to_check");
HttpResponse response = client.execute(httpGet);

処理を簡素化するために、responseHandler を execute オブジェクトにアタッチすることもできます。

于 2013-06-08T06:57:13.960 に答える
1

クロスドメイン AJAX リクエストは同じオリジンポリシーのために機能しないため、 2 つの方法をお勧めします。

オーバーライド CSS ファイルを含める

<link type="text/css" href="http://website.com/normal.css" />
<link type="text/css" href="http://otherwebsite.com/override.css" />

<div id="login" class="login">
    <!-- Your button code -->
</div>

通常の.css

.login
{
    display: none;
}

オーバーライド.css

#login
{
    display: block;
}

クライアントが にアクセスできる場合http://otherwebsite.com、CSS ファイルが読み込まれ、ID がクラスよりも重要であるため、スタイルはオーバーライドされます。

画像負荷テスト

<img id="img" style="width: 0;height: 0;" src="http://otherdomain.com/smallimage.png" />
<script>
    $("#img").load(function() { alert("image loaded correctly"); })
    .error(function() { alert("error loading image"); });
</script>
于 2013-06-08T08:13:48.037 に答える