2013-01-18 7 views
8

私はAndroidアプリケーションの開発にphonegap/cordovaを使用しています。PhoneGap/Cordovaユーザエージェントfor AJAXを変更します。

アプリは、リモートサーバー上のファイルを読み取る必要があります。したがって、私はAJAX(jQuery)を使用しています。 問題は次のとおりです。リモートサーバーはモバイルデバイスからモバイル版へのすべての接続をリダイレクトしますが、これは私にとっては機能しません。したがって、ユーザーエージェントをデスクトップブラウザに変更する必要があります。

どうすればいいですか?私はa solution for iOSを見た。 Androidの場合、これは可能でしょうか?


編集:

だけonCreate -methodに/src/com/a/b/c.java

WebSettings w = this.appView.getSettings();  
w.setUserAgentString("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"); 

を追加します。 私は自分自身ソリューションが見つかりました。これは私のために働い

super.appView.getSettings().setUserAgentString("Your own agent string"); 

;(でsuper.init後の()):

+1

これは私のためには機能しませんでした。何か案は? – Danation

+2

あなた自身の質問に回答を追加することができます。あなた自身を質問に編集する必要はありません。あなたがもう一度編集してそれをしたら、それはもっときれいになります。 – rjmunro

+0

@ninov私はCordovaを使用していますが、.javaファイルはありません。私たちはこれをjavascriptから呼び出すことができますか?それはまだ2017年のように動作しますか? –

答えて

1

あなたはユーザーエージェント、またはそのことで任意のヘッダを変更することができますコルドバのためのより強力なHTTPクライアントを探しているなら、https://github.com/aporat/cordova-plugin-fetchを試してみてください。十分にテストされたネイティブネットワーキングライブラリ(iOSではAFNetworking 2、アンドロイドではOKHttp)をラップします。

これはwindow.fetchの後にも続くので、fetch.jsでブラウザをテストしている間は、シミュレータとデバイスでcordovaFetchを使用できます。

だけ

cordova plugin add https://github.com/aporat/cordova-plugin-fetch.git

でプラグインをインストールし、あなたが作ったすべての要求でユーザーエージェントヘッダーが含まれます。

cordovaFetch('/users.json', { 
    method : 'GET', 
    headers: { 
    'User-Agent': 'your user agent' 
}, 
}) 
関連する問題