projects
/
pwl6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Mobile Safari has a different user agent when standalone.
[pwl6.git]
/
src
/
yuu
/
core.js
diff --git
a/src/yuu/core.js
b/src/yuu/core.js
index 25d3ed2a52710ffb2da77e3445aaefae85420908..1d64e98d193c170d56a0f84c73f05dac5dfcb003 100644
(file)
--- a/
src/yuu/core.js
+++ b/
src/yuu/core.js
@@
-7,6
+7,10
@@
(function (yuu) {
"use strict";
(function (yuu) {
"use strict";
+ yuu.isSafari = function (ua) {
+ return /^((?!chrome).)*safari/i.test(ua || navigator.userAgent)
+ || navigator.standalone;
+ };
yuu.require = function (m) {
try { return require(m); }
yuu.require = function (m) {
try { return require(m); }
@@
-70,6
+74,9
@@
/** Initialize Yuu and call all registered hooks
*/
/** Initialize Yuu and call all registered hooks
*/
+ document.body.className += (navigator.standalone || gui)
+ ? " standalone" : " browser";
+
if (gui) {
var win = gui.Window.get();
var nativeMenuBar = new gui.Menu({ type: "menubar" });
if (gui) {
var win = gui.Window.get();
var nativeMenuBar = new gui.Menu({ type: "menubar" });
@@
-89,6
+96,14
@@
wkdoc.hidden = false;
wkdoc.dispatchEvent(ev);
});
wkdoc.hidden = false;
wkdoc.dispatchEvent(ev);
});
+ win.on('new-win-policy', function (frame, url, policy) {
+ if (url.startsWith('chrome')) {
+ policy.forceNewPopup();
+ } else {
+ policy.ignore();
+ gui.Shell.openExternal(url);
+ }
+ });
}
return new Promise(function (resolve) {
}
return new Promise(function (resolve) {