質問編集履歴
1
MonacaクラウドIDEでのテンプレートを使って、シンプルに発現した状況を再現致しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
外部ブラウザで開きたいもの(GoogleMAPや外部のサイト)があります。
|
7
7
|
onclickの中に外部リンクを開くようのコードを書いて、実行すると
|
8
8
|
```
|
9
|
-
|
9
|
+
既にログインされています。ログアウトして再度QRコードを読み取ってください。
|
10
10
|
```
|
11
11
|
というアラートが表示されてしまいます。
|
12
12
|
外部アプリが立ち上がり正常に表示されるのですが、monacaデバッガーアプリに戻るとアラートが表示されてしまいます。
|
@@ -38,4 +38,138 @@
|
|
38
38
|
この現象はmonacaデバッガー固有の現象(リリースの際に無視出来るもの)なのか、何か対策が出来るものなのかわからない状態です。
|
39
39
|
解決方法をお教えいただければと思います。
|
40
40
|
|
41
|
-
よろしくお願い致します。
|
41
|
+
よろしくお願い致します。
|
42
|
+
|
43
|
+
|
44
|
+
###ご質問を受けての補足です
|
45
|
+
>アラートが出ているタイミングと、具体的な「外部ブラウザで開きたいもの」が何なのかもう少し詳しく知りたいですね。
|
46
|
+
>monacaから開くときにたとえば自動的にログインするようになっていたとして、既にGoogleChromeが立ち上がっていたら「既にログインされている」という状態になるのかもしれません。
|
47
|
+
こちらを受けまして、新規プロジェクトで具体的な発現方法を再現してみました。
|
48
|
+
|
49
|
+
MonacaクラウドIDE上から新規プロジェクト
|
50
|
+
「OnsenUI AngularJS1」でのSplitterMenuをテンプレートで作成し、
|
51
|
+
メニューを1項目をonclick設定して外部リンクを開くようにしてみました。
|
52
|
+
|
53
|
+
```html
|
54
|
+
<!DOCTYPE HTML>
|
55
|
+
<html>
|
56
|
+
<head>
|
57
|
+
<meta charset="utf-8">
|
58
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
59
|
+
<meta http-equiv="Content-Security-Policy" content="default-src * data:; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">
|
60
|
+
<script src="components/loader.js"></script>
|
61
|
+
<script src="lib/angular/angular.min.js"></script>
|
62
|
+
<script src="lib/onsenui/js/onsenui.min.js"></script>
|
63
|
+
<script src="lib/onsenui/js/angular-onsenui.min.js"></script>
|
64
|
+
|
65
|
+
<link rel="stylesheet" href="components/loader.css">
|
66
|
+
<link rel="stylesheet" href="lib/onsenui/css/onsenui.css">
|
67
|
+
<link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css">
|
68
|
+
<link rel="stylesheet" href="css/style.css">
|
69
|
+
|
70
|
+
<script>
|
71
|
+
ons.bootstrap()
|
72
|
+
.controller('AppController', function($scope) {
|
73
|
+
this.load = function(page) {
|
74
|
+
$scope.splitter.content.load(page);
|
75
|
+
$scope.splitter.left.close();
|
76
|
+
};
|
77
|
+
|
78
|
+
this.toggle = function() {
|
79
|
+
$scope.splitter.left.toggle();
|
80
|
+
};
|
81
|
+
|
82
|
+
|
83
|
+
});
|
84
|
+
|
85
|
+
ons.ready(function() {
|
86
|
+
console.log("Onsen UI is ready!");
|
87
|
+
|
88
|
+
});
|
89
|
+
</script>
|
90
|
+
</head>
|
91
|
+
<body>
|
92
|
+
|
93
|
+
<ons-splitter ng-controller="AppController as app" var="splitter">
|
94
|
+
<ons-splitter-side side="left" width="220px" collapse swipeable>
|
95
|
+
<ons-page>
|
96
|
+
<ons-list>
|
97
|
+
<ons-list-item ng-click="app.load('home.html')" tappable>
|
98
|
+
Home
|
99
|
+
</ons-list-item>
|
100
|
+
<ons-list-item ng-click="app.load('settings.html')" tappable>
|
101
|
+
Settings
|
102
|
+
</ons-list-item>
|
103
|
+
<ons-list-item onclick="window.open('http://yahoo.co.jp/','_system')" tappable>
|
104
|
+
About
|
105
|
+
</ons-list-item>
|
106
|
+
</ons-list>
|
107
|
+
</ons-page>
|
108
|
+
</ons-splitter-side>
|
109
|
+
<ons-splitter-content page="home.html"></ons-splitter-content>
|
110
|
+
</ons-splitter>
|
111
|
+
|
112
|
+
<ons-template id="home.html">
|
113
|
+
<ons-page>
|
114
|
+
<ons-toolbar>
|
115
|
+
<div class="left">
|
116
|
+
<ons-toolbar-button ng-click="app.toggle()">
|
117
|
+
<ons-icon icon="md-menu"></ons-icon>
|
118
|
+
</ons-toolbar-button>
|
119
|
+
</div>
|
120
|
+
<div class="center">
|
121
|
+
Main
|
122
|
+
</div>
|
123
|
+
</ons-toolbar>
|
124
|
+
<p style="text-align: center; opacity: 0.6; padding-top: 20px;">
|
125
|
+
Swipe right to open the menu!
|
126
|
+
</p>
|
127
|
+
</ons-page>
|
128
|
+
</ons-template>
|
129
|
+
|
130
|
+
<ons-template id="settings.html">
|
131
|
+
<ons-page>
|
132
|
+
<ons-toolbar>
|
133
|
+
<div class="left">
|
134
|
+
<ons-toolbar-button ng-click="app.toggle()">
|
135
|
+
<ons-icon icon="md-menu"></ons-icon>
|
136
|
+
</ons-toolbar-button>
|
137
|
+
</div>
|
138
|
+
<div class="center">
|
139
|
+
Settings
|
140
|
+
</div>
|
141
|
+
</ons-toolbar>
|
142
|
+
</ons-page>
|
143
|
+
</ons-template>
|
144
|
+
|
145
|
+
<ons-template id="about.html">
|
146
|
+
<ons-page>
|
147
|
+
<ons-toolbar>
|
148
|
+
<div class="left">
|
149
|
+
<ons-toolbar-button ng-click="app.toggle()">
|
150
|
+
<ons-icon icon="md-menu"></ons-icon>
|
151
|
+
</ons-toolbar-button>
|
152
|
+
</div>
|
153
|
+
<div class="center">
|
154
|
+
About
|
155
|
+
</div>
|
156
|
+
</ons-toolbar>
|
157
|
+
</ons-page>
|
158
|
+
</ons-template>
|
159
|
+
</body>
|
160
|
+
</html>
|
161
|
+
```
|
162
|
+
|
163
|
+
```html
|
164
|
+
<ons-list-item onclick="window.open('http://yahoo.co.jp/','_system')" tappable>
|
165
|
+
About
|
166
|
+
</ons-list-item>
|
167
|
+
```
|
168
|
+
こちらをタップすると、そのタイミングで「既にログインされています。ログアウトして再度QRコードを読み取ってください。」と表示されます。
|
169
|
+
(タイミングによっては外部リンクを開いた後monacaに戻ってくると表示されることもあります。)
|
170
|
+
外部アプリとしては「Safari」が立ち上がりました。
|
171
|
+
この状態でも上記アラートが立ち上がってしまうので困っています。。
|
172
|
+
どうにかアラートが表示されないようにすることは出来ないものでしょうか?
|
173
|
+
アラートが表示されなければ正常動作で問題ないのですが・・・
|
174
|
+
|
175
|
+
よろしくお願いいたします。
|