質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

375閲覧

標準ブラウザが立ち上がらない

zooros

総合スコア7

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/01/28 13:49

お世話になっております。
どうしても実現できないことがあり質問させていただきました。
種々調べてみたのですがどうしてもわからないため教えていただきたく。
よろしくお願いします。

現在、monacaアプリからリンクをタップした際に、訳あってwebviewではなく標準ブラウザを立ち上げたいと思っています。
以下のロジックを<head>内に記述し、リンク文字をタップした際に標準ブラウザを立ち上げようとしています。

window.open = cordova.InAppBrowser.open;
window.open("http://URL/", "_system", 'location=yes');
※URLは実際のURLを記述しております。

なお、上記ロジックはリンク文字タップ時に処理されていることは確認しております。

monacaデバッガーでは、意図した通り標準ブラウザが立ち上がるのですが、apkファイルを作成(ビルド後)しスマホにインストールしたアプリからだと、標準ブラウザが立ち上がらずwebviewが開いてしまいます。

デバッガーとapkファイル作成しインストールした後では、動作が異なるのでしょうか?
それとも何か設定(必要なもののインストール等)が必要なのでしょうか?

なお、以下の方法でも試しましたが結果は同じくwebviewが立ち上がってしまいま

お忙しい中申し訳ございませんが、ご教授いただけると助かります。
ご教授いただく際に不足している情報などございましたならご指摘いただきますようお願いいたします。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

何度もすみません、手が空いたので実環境でやってみました。
MONACA OnsenUI V2 Minimumテンプレートです。ボタンを押すとヤフーが開くだけです。
ビルド設定 > Cordovaプラグイン > InAppBrowser有効化をお忘れなく。

HTLM

1<!DOCTYPE HTML> 2<html> 3<head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 6 <meta http-equiv="Content-Security-Policy" content="default-src * data: gap: https://ssl.gstatic.com; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"> 7 <script src="components/loader.js"></script> 8 <script src="lib/onsenui/js/onsenui.min.js"></script> 9 10 <link rel="stylesheet" href="components/loader.css"> 11 <link rel="stylesheet" href="lib/onsenui/css/onsenui.css"> 12 <link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css"> 13 <link rel="stylesheet" href="css/style.css"> 14 15 <script> 16 ons.ready(function() { 17 console.log("Onsen UI is ready!"); 18 }); 19 </script> 20</head> 21<body> 22 <ons-button onclick="window.open('https://www.yahoo.co.jp/', '_self')">_self</ons-button> 23 <br><br> 24 <ons-button onclick="window.open('https://www.yahoo.co.jp/', '_blank')">_blank</ons-button> 25 <br><br> 26 <ons-button onclick="window.open('https://www.yahoo.co.jp/', '_system')">_system</ons-button> 27</body> 28</html> 29

上記でビルドし、「_system」のボタン押下でchromeが起動できました。(検証はandroid機です)
ご参考まで。

投稿2018/01/30 08:18

hydroxy

総合スコア49

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zooros

2018/01/31 00:59

ご教授ありがとうございます! おかげさまで目的だった標準ブラウザでを立ち上げることができました! 本当にありがとうございます。 結果的には、ご教授いただいたビルド時の ビルド設定 > Cordovaプラグイン > InAppBrowser有効化 を行っていなかったことが原因のようです。 勉強不足でした。 monacaデバッガーで確認した際には意図したとおり標準ブラウザが立ち上がっていたので安心してそのままビルドしておりました。ビルド時にInAppBrowserを有効化しなければいけなかったのですね。 勉強不足でみなさんにご迷惑をおかけし申し訳ございませんでした。 本当に助かりました。ありがとうございます。 ご助言いただきました皆様にも感謝申し上げます。ありがとうございました。
guest

0

横から失礼します。
そもそも、cordova.InAppBrowser.open()自体がWebViewを使用するための関数かと思いますが…

公式のリファレンスをご確認下さい。
https://docs.monaca.io/ja/reference/cordova_5.2/inappbrowser/

今回の場合は「WebViewを使いたくない」訳ですから、

window.open = cordova.InAppBrowser.open;

の記述を削除してみてはいかがですか?
(※やった事ないのでそれであってるかは未確認です。)

投稿2018/01/30 04:57

編集2018/01/30 04:59
hydroxy

総合スコア49

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2018/01/30 06:21

横から失礼します。 オプションに "_system" を指定しているので、ドキュメントの説明「_system: システム標準の Web ブラウザー ( system’s web browser ) を開きます。」の動作になるはずです。
guest

0

実行環境でデフォルトのブラウザがどうなっているか調べてみてください。
可能性の一つとして、インストール時に書き換えてはいませんか?

投稿2018/01/29 01:58

Zuishin

総合スコア28656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zooros

2018/01/29 02:19

ご連絡ありがとうございます。 > 実行環境でデフォルトのブラウザがどうなっているか調べてみてください。 > 可能性の一つとして、インストール時に書き換えてはいませんか? 実行環境というのはスマートホン側(Android)ということで理解致します。間違っていましたらご指摘ください。 スマホ側は、特に何も設定を変更しておりません。初期設定のままとなっております。インストールされているブラウザは標準ブラウザとChromeです。 また、apkファイルインストール時は特に変更に関するメッセージもなかったことから「インストール」→「OK」という流れで問題なく完了しております。 小生のような事象は他の方では発生していないという認識でよろしいのでしょうか? なお、スクリプト関係は以下の内容で読み込んでおります。 <link rel="stylesheet" href="components/loader.css"> <link rel="stylesheet" href="css/style.css"> <script src="components/loader.js"></script> <script src="js/ncmb-2.1.3.min.js"></script> push通知を使いたかったので、Nifty Cloud mobile backendを使おうと思っております。 スクリプト定義の順番とか意識する必要があるのでしょうか? 引き続きご教授いただけると助かります。 よろしくお願いいたします。
Zuishin

2018/01/29 02:27

設定を変更したしないではなくて、現在の設定がどうなっているか調べてください。 たったの二行で環境も何も書いてないのに原因がわかるわけはないのでどこに問題があるか調べるための手続きの一つです。 Android なら設定→アプリ→アプリの設定→標準のブラウザあたりだと思いますがバージョンによっても違うかもしれませんのでそのあたりを調べてください。 もし標準のブラウザが設定されていなければ設定してから試してください。
Zuishin

2018/01/29 02:30

これでビンゴの場合もあるでしょうし、そうでない場合もあるでしょう。 調査はやってみなければわかりません。
zooros

2018/01/29 02:43

大変失礼いたしました。 確認したところ、 標準ブラウザ(アプリ名はブラウザ)は、既定で開く:一部デフォルトを設定 Chromeは既定で開く:既定の設定なし となっております。 メールなどにURLが記載されている場合、URLをタップすると標準ブラウザが立ち上がっている状況です。
zooros

2018/01/29 02:55

デフォルトのブラウザをChromeに変更してみました。 monacaデバッガーからリンクをタップするとChromeが立ち上がるようになりました(変更前は標準ブラウザ)。 しかし、インストールしたアプリでリンクをタップするとやはりwebviewで開くという状況です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問