モバイルアプリ(Glide)にDiscourseを埋め込む

こんにちは、皆さん。

これは私が見落としている非常に単純な設定だとは思いますが、現在、Glide(glideapps.com)で構築したモバイルアプリにDiscourseを埋め込もうとしています。

しかし、WebViewコンポーネント経由で埋め込もうとすると、適切なアクセス権がないと表示されます。

ドメインをホワイトリストに登録する必要があると思いますが、設定で見つけられません。

よろしくお願いします!
Wouter

管理者 > カスタマイズ > 埋め込みでホワイトリスト登録を試してみてください。ただし、Glide が何をしているのかはわかりません。Discourse は通常の WebView 内でも問題なく動作します(例えば、当社の iOS 向け DiscourseHub アプリも WebView を使用しています)。

「いいね!」 2

うーん、試してみましたが、成功しませんでした。

念のためにお伺いしますが、私がトライアルアカウントで、貴社のホスト型ソリューションを利用していることが原因でしょうか?

それとも、それは問題にならないべきでしょうか?

それは問題にならないはずです。DiscourseHub アプリであなたのサイトを試しに開いてみましたが、そこでは正常に読み込まれています。これは Glide 側の問題のようで、すでにチケットも起票されていますので、そちらで解決できることを願っています。

また、他のサイトを埋め込んでみることもできます。例えば Meta や、Glide コミュニティ(これも Discourse で動いています)などです。もしそれらも動作しない場合は、間違いなく Glide 側の問題です(Glide のバグか、実装方法に問題があるかのどちらかです)。

こんにちは、Penar さん。

はい、まさにその通りです。それらのいずれも WebView では動作しませんでした。Glide と一緒に原因を突き止めたいと思います。

フィードバックをありがとうございます!

「いいね!」 1

こんにちは、ペナルさん、

Glide から動作しない理由についてのフィードバックが届きました。

「その URL(https://community.pelvic.app/)をこのツールに入力すると、iFrame 内での実行を阻止する設定が含まれていると表示されます。WebView は iFrame のラッパーです。」

前半は正しいです。デフォルトでは、Discourse サイトの iFrame 内への読み込みをブロックしています。これは、SEO 操作からクリックジャッキングまで、さまざまなリスクからサイトを保護します(詳細については こちら をご覧ください)。

しかし、後半は奇妙です。WebView は確かに iFrame ではありません。WebView はモバイルアプリに埋め込めるミニブラウザであり、実際のブラウザのように動作します。一方、iFrame はあるウェブページを別のウェブページ内に読み込むための手段です。おそらく、Glide アプリ全体が本質的にウェブページであるため、そこで WebView の内部に iFrame を使用しているのでしょう。

Discourse サイトを iFrame に埋め込むことを許可するサイト設定を切り替えることは可能ですが、推奨はしていません。また、iFrame 内の Discourse にはいくつかの癖があります。つまり、iFrame 埋め込みを有効化することはできますが、将来的に修正不可能な問題が発生する可能性があります。

「いいね!」 3

Penar さん、ありがとうございます。Glide にもう一度戻って、簡単な修正方法がないか確認します。

「いいね!」 1

こんにちは、Penar さん。

現時点ではこれを有効にする必要はありません。ただし、このトピックを完了させるために、後でこれを読む人のために、Glide からのフィードバックを共有します。

WebView を動作させるために iframe を使用しています。これが Web ブラウザで実現できる唯一の方法です。セキュリティ上の理由から多くのサイトがこの機能をブロックしているのは事実ですが、Web 上でできる最善の策です。

Discourse コミュニティは、おそらくネイティブアプリの WebView 機能を想定しているのでしょう。もちろん、私たちはそれを利用できません。

念のため申し上げますが、Glide はネイティブアプリではなく、プログレッシブウェブアプリ(PWA)です。

お手伝いいただき、ありがとうございます。

「いいね!」 3