9

JavaScript で Windows 8 Metro アプリケーションを開発するときに、WinJS.xhr に問題があります。

WinJS.xhr({ url: "http://www.seznam.cz"});

上記のコードを実行すると、ログに次のように表示されます。

SCRIPT7002: XMLHttpRequest: Network Error 0x2efd, Could not complete
the operation due to error 00002efd.

マニフェストで「インターネット (クライアント)」機能を有効にしました。

おそらく問題は、私がプロキシの背後にいて VPN を使用しているためですが、Google Chrome を使用してインターネットにアクセスできます (承認する必要があるだけです。それ以外の場合は、HTTP ステータス 407 - プロキシ承認が必要です)。

どうすれば修正できますか?

[編集] したがって、おそらく使用しなければならない VPN (Cisco VPN Client) に関連していることがわかりました。VPN を無効にすると、プロキシの背後にいても (LAN を使用し、VPN では WiFi を使用します)、要求は機能します。多分それはCisco VPN関連だけです. ここで説明されているように、レジストリを変更する必要がありましたhttp://verbalprocessor.com/2012/09/17/windows-8-and-cisco-vpn-client/

また興味深いのは、プロキシの背後にいる場合、いくつかの Metro アプリが動作 (マップ) し、一部が動作しない (Windows ストア) ことです。

お知らせ: Windows.Networking.Connectivity を調査しましたが、どちらの場合も (VPN の有無にかかわらず) NetworkConnectivityLevel == "Local Access" を取得します (おそらくプロキシの背後にいるため)。

4

3 に答える 3

16

職場の SSL/VPN 接続 (Juniper から) に接続すると、同じエラーが発生しました。

.appxmanifest ファイルを開き、「プライベート ネットワーク (ホームとサーバー)」機能を追加すると、問題が解決しました。

<Capabilities>
  <Capability Name="internetClient" />
  <Capability Name="privateNetworkClientServer" />
</Capabilities>
于 2013-02-06T18:38:17.863 に答える
1

This solution worked for me (see forums link below)... essentially, you need to add the server's certificate to the Windows Store App manifest (also be sure your manfiest "Capabilities" are set to at least "InternetClient"). You can get the server's certificate by exporting it from your browser, save is as a ".der" file. Using Firefox was easier than IE in doing this (From FF, browse to the target domain that has the certificate, then right click on the page > Page Info > Security tab > Details tab > Export button > save as ".der".

http://social.msdn.microsoft.com/Forums/en-ZA/winappswithcsharp/thread/4a776e8c-0e10-4f03-908f-7f765d914080?prof=required

This solution seems absurd - so bear in mind, this may only be necessary for sites that are using self-signed certificates, like in a development environment, because this process was not necessary for other production sites.

于 2012-11-05T23:22:26.707 に答える
0

これを行う適切な方法はMSDNフォーラムに投稿されましたが、私にはうまくいきませんでしたが、次の方法でうまくいきました


config.xml

...

<platform name="windows"> 
     <config-file target="package.appxmanifest"> 
         <DeviceCapability Name="privateNetworkClientServer" /> 
     </config-file>
     ...
 </platform> 

これらは他の機能と統合されます

于 2016-04-20T21:26:42.863 に答える