質問編集履歴

1

MonacaクラウドIDEでのテンプレートを使って、シンプルに発現した状況を再現致しました。

2017/04/15 23:56

投稿

kuroneko334
kuroneko334

スコア8

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  ```
16
16
 
17
- 既にログインされています。ログアウトして再度QRコードを読み取ってください。
17
+ 既にログインされています。ログアウトして再度QRコードを読み取ってください。
18
18
 
19
19
  ```
20
20
 
@@ -79,3 +79,271 @@
79
79
 
80
80
 
81
81
  よろしくお願い致します。
82
+
83
+
84
+
85
+
86
+
87
+ ###ご質問を受けての補足です
88
+
89
+ >アラートが出ているタイミングと、具体的な「外部ブラウザで開きたいもの」が何なのかもう少し詳しく知りたいですね。
90
+
91
+ >monacaから開くときにたとえば自動的にログインするようになっていたとして、既にGoogleChromeが立ち上がっていたら「既にログインされている」という状態になるのかもしれません。
92
+
93
+ こちらを受けまして、新規プロジェクトで具体的な発現方法を再現してみました。
94
+
95
+
96
+
97
+ MonacaクラウドIDE上から新規プロジェクト
98
+
99
+ 「OnsenUI AngularJS1」でのSplitterMenuをテンプレートで作成し、
100
+
101
+ メニューを1項目をonclick設定して外部リンクを開くようにしてみました。
102
+
103
+
104
+
105
+ ```html
106
+
107
+ <!DOCTYPE HTML>
108
+
109
+ <html>
110
+
111
+ <head>
112
+
113
+ <meta charset="utf-8">
114
+
115
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
116
+
117
+ <meta http-equiv="Content-Security-Policy" content="default-src * data:; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">
118
+
119
+ <script src="components/loader.js"></script>
120
+
121
+ <script src="lib/angular/angular.min.js"></script>
122
+
123
+ <script src="lib/onsenui/js/onsenui.min.js"></script>
124
+
125
+ <script src="lib/onsenui/js/angular-onsenui.min.js"></script>
126
+
127
+
128
+
129
+ <link rel="stylesheet" href="components/loader.css">
130
+
131
+ <link rel="stylesheet" href="lib/onsenui/css/onsenui.css">
132
+
133
+ <link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css">
134
+
135
+ <link rel="stylesheet" href="css/style.css">
136
+
137
+
138
+
139
+ <script>
140
+
141
+ ons.bootstrap()
142
+
143
+ .controller('AppController', function($scope) {
144
+
145
+ this.load = function(page) {
146
+
147
+ $scope.splitter.content.load(page);
148
+
149
+ $scope.splitter.left.close();
150
+
151
+ };
152
+
153
+
154
+
155
+ this.toggle = function() {
156
+
157
+ $scope.splitter.left.toggle();
158
+
159
+ };
160
+
161
+
162
+
163
+
164
+
165
+ });
166
+
167
+
168
+
169
+ ons.ready(function() {
170
+
171
+ console.log("Onsen UI is ready!");
172
+
173
+
174
+
175
+ });
176
+
177
+ </script>
178
+
179
+ </head>
180
+
181
+ <body>
182
+
183
+
184
+
185
+ <ons-splitter ng-controller="AppController as app" var="splitter">
186
+
187
+ <ons-splitter-side side="left" width="220px" collapse swipeable>
188
+
189
+ <ons-page>
190
+
191
+ <ons-list>
192
+
193
+ <ons-list-item ng-click="app.load('home.html')" tappable>
194
+
195
+ Home
196
+
197
+ </ons-list-item>
198
+
199
+ <ons-list-item ng-click="app.load('settings.html')" tappable>
200
+
201
+ Settings
202
+
203
+ </ons-list-item>
204
+
205
+ <ons-list-item onclick="window.open('http://yahoo.co.jp/','_system')" tappable>
206
+
207
+ About
208
+
209
+ </ons-list-item>
210
+
211
+ </ons-list>
212
+
213
+ </ons-page>
214
+
215
+ </ons-splitter-side>
216
+
217
+ <ons-splitter-content page="home.html"></ons-splitter-content>
218
+
219
+ </ons-splitter>
220
+
221
+
222
+
223
+ <ons-template id="home.html">
224
+
225
+ <ons-page>
226
+
227
+ <ons-toolbar>
228
+
229
+ <div class="left">
230
+
231
+ <ons-toolbar-button ng-click="app.toggle()">
232
+
233
+ <ons-icon icon="md-menu"></ons-icon>
234
+
235
+ </ons-toolbar-button>
236
+
237
+ </div>
238
+
239
+ <div class="center">
240
+
241
+ Main
242
+
243
+ </div>
244
+
245
+ </ons-toolbar>
246
+
247
+ <p style="text-align: center; opacity: 0.6; padding-top: 20px;">
248
+
249
+ Swipe right to open the menu!
250
+
251
+ </p>
252
+
253
+ </ons-page>
254
+
255
+ </ons-template>
256
+
257
+
258
+
259
+ <ons-template id="settings.html">
260
+
261
+ <ons-page>
262
+
263
+ <ons-toolbar>
264
+
265
+ <div class="left">
266
+
267
+ <ons-toolbar-button ng-click="app.toggle()">
268
+
269
+ <ons-icon icon="md-menu"></ons-icon>
270
+
271
+ </ons-toolbar-button>
272
+
273
+ </div>
274
+
275
+ <div class="center">
276
+
277
+ Settings
278
+
279
+ </div>
280
+
281
+ </ons-toolbar>
282
+
283
+ </ons-page>
284
+
285
+ </ons-template>
286
+
287
+
288
+
289
+ <ons-template id="about.html">
290
+
291
+ <ons-page>
292
+
293
+ <ons-toolbar>
294
+
295
+ <div class="left">
296
+
297
+ <ons-toolbar-button ng-click="app.toggle()">
298
+
299
+ <ons-icon icon="md-menu"></ons-icon>
300
+
301
+ </ons-toolbar-button>
302
+
303
+ </div>
304
+
305
+ <div class="center">
306
+
307
+ About
308
+
309
+ </div>
310
+
311
+ </ons-toolbar>
312
+
313
+ </ons-page>
314
+
315
+ </ons-template>
316
+
317
+ </body>
318
+
319
+ </html>
320
+
321
+ ```
322
+
323
+
324
+
325
+ ```html
326
+
327
+ <ons-list-item onclick="window.open('http://yahoo.co.jp/','_system')" tappable>
328
+
329
+ About
330
+
331
+ </ons-list-item>
332
+
333
+ ```
334
+
335
+ こちらをタップすると、そのタイミングで「既にログインされています。ログアウトして再度QRコードを読み取ってください。」と表示されます。
336
+
337
+ (タイミングによっては外部リンクを開いた後monacaに戻ってくると表示されることもあります。)
338
+
339
+ 外部アプリとしては「Safari」が立ち上がりました。
340
+
341
+ この状態でも上記アラートが立ち上がってしまうので困っています。。
342
+
343
+ どうにかアラートが表示されないようにすることは出来ないものでしょうか?
344
+
345
+ アラートが表示されなければ正常動作で問題ないのですが・・・
346
+
347
+
348
+
349
+ よろしくお願いいたします。