問題:
私はフラッターモバイルアプリケーションに取り組んでいます。アマゾンのウェブサイトをフラッターウェブビューで表示しています。アイテムを開くと、Zinc.io APIを使用してその商品の詳細を取得し、その注文と配送を処理します。私の問題は、amazonがデフォルトで「DelivertoCoountry_A」(現在のユーザーの場所に基づく)を表示することです。手動で変更できますが、常に自動的にUSに設定したいです。
国はデフォルトで設定されているため、Amazonが選択した国に発送しない商品が多く、ユーザーが商品を検索してもそれらの商品は表示されません。国の制限なくすべての商品を見せたいです。
考えられる解決策..?
私のサーバーは米国にあります。だから、アイデアはありましたが、それが可能かどうかはわかりません。私のアイデアは、私のサーバー(Php)からAmazonWebページをレンダリングすることです。出来ますか?または、これを行うためのより良い解決策はありますか?
これを行う別のウェブサイト:
Cashbasha.comのウェブサイトには、Amazonを閲覧するためのオプションがあります。ビューはAmazonの正確なレプリカですが、「DelivertoCountry」は表示されません。彼らはどうやってそれをしているのか興味がありますか?
ついに私は解決策を見つけることができました。
flutter_inappbrowser
パッケージを使用しています
「国への配信」を目的の国に変更するためにJavascriptを注入しました。これは私のコードです
flutter_inappbrowserのアセットからjsファイルを挿入する方法
onWebViewCreated: (InAppWebViewController controller) {
webView = controller;
controller.injectJavascriptFileFromAsset(
assetFilePath: "assets/inject_ip.js");
},
このコードをassets / inject_ip.jsに記述します
window.addEventListener("DOMContentLoaded", function (event) {
var xhttp = new XMLHttpRequest();
xhttp.open('POST', 'https://www.amazon.com/gp/delivery/ajax/address-change.html');
xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');
xhttp.send('locationType=LOCATION_INPUT&zipCode=19720&storeContext=generic&deviceType=mobile&pageType=Gateway&actionSource=glow');
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加