質問: ### 前提・実現したいこと お世話になります。 当方プログラミングの知識があまりない初心者で、 的外れ・不適切な質問でしたらご容赦ください。 1はじめてMonacaを使用してWebページを表示するアプリを作成したいと考えています。 2InAppBrowserプラグイン追加し、画面を表示することはできました。 しかし、InAppBrowser内でクリックされた外部サイトへのリンクをシステムブラウザで起動することができず 悩んでおります。 3WebページはForguncyというソフトで作成しており、直接htmlタグの編集等ができません。 Monacaのアプリ側でこの問題を解決することはできるのでしょうか? 丸2日程度調べましたが、理解に至ることができませんでした。 https://qiita.com/ookishin2018/items/abe20983358f463b4cbc この内容が一番求めているものに近いかと思いましたが、どのように実装してよいかわかりません。 大変申し訳御座いませんが御指導いただけますと幸いです。 ### 該当のソースコード
回答: 試していないですが、恐らくできます。InAppBrowserのexecuteScriptを使って、ForguncyのHTML上にあるリンクをクリックした際のアクションをジャックして、メッセージ機能を使ってアプリ側のJavaScriptにURLを送ります。そして、アプリ側のJavaScriptでURLを開けばOKかと。 1. Forguncyのリンククリックイベントを取得できるか試す https://docs.monaca.io/ja/reference/cordova_9.0/inappbrowser/ のexecuteScriptを参考に。ForguncyのUIはJavaScriptで動的に作られていると思うので、jQueryなどで動的なDOMに対してもクリックイベントを補足できる必要がありそうです。 https://qiita.com/negi/items/6ec0d3cedba499eac81a の `$(document).on` の書き方です。 2. メッセージ機能を使ってInAppBrowser側とアプリ側のJavaScriptで通信する https://qiita.com/ookishin2018/items/1ba5dd0924373b67977e を参考に 3. 1でリンクを取得し、2でアプリ側のJavaScriptに送信。後はwindow.openで外部ブラウザを立ち上げられるはず といった手順になるかと思います。