問題タブ [custom-url-protocol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
825 参照

ios - WKWebView XMLHttpRequest がカスタム URL スキームで失敗する

WKWebView を使用してモバイル アプリを作成しています。カスタム URL スキーム image:// と thumb:// を登録して、アプリのネイティブ パーツから Web パーツにアセットを提供します。

このアプローチは、カスタム スキームを持つ URL が HTML で使用されている場合にうまく機能します。たとえば、<img src="thumb://watermarkly.com/1.jpg" />適切に動作します。WKWebView はハンドラーを呼び出し、結果を表示します。ただし、XMLHttpRequest を使用してこれらの URL をフェッチしようとすると、WKWebView はリクエストをブロックします。

ここでの唯一の違いは、"thumb:" URL が img タグに割り当てられたのに対し、"image:" URL は XMLHttpRequest 経由でフェッチされたことです。残念ながら、Safari 開発者ツールには他の情報はありません。

この問題は実際のデバイスでのみ発生します。iOS シミュレーターではすべて正常に動作します。

XMLHttpRequests でも機能するように構成する必要があるものはありますか?

アップデート

問題を解決するために XHR を作成するために、HTTPS から HTTP に切り替えました。

残念ながら、一部の iPhone ではカスタム URL スキームが機能しないようです。HTTP に切り替えたり、Access-Control-Allow-Origin ヘッダー ヘルプを送信したりしていない iPhone を使用している 5 人の顧客がいます。問題の原因となっている設定を特定できませんでした。この問題は、当社が所有するどのデバイスでも再現できません。Apple のレビュアーにも苦情はありませんでした。これらの電話では、URL から画像を取得しない XHR も機能しません。顧客の 1 人は 2 台の電話を持っています。カスタム URL スキームはそのうちの 1 つで機能しますが、2 つ目ではまったく機能しません。彼は、それらは同一であり、Safari 拡張機能はインストールされていないと述べています。残念ながら、問題の原因を特定できませんでした。一部の電話ではカスタム URL スキームが機能しない場合があることに注意してください。