На установленном настольном PWA, начиная с Chrome 73 (в MacOS), когда я выполняю window.open()
для события щелчка с обычным URL, страница загружается полностью, но окно пустое.
Это выглядит запутанным, но нет наложенного тега ничего видимого (все в порядке в консоли devtools и на вкладках сети)
Я пробовал использовать стандартную тему Chrome, обе с темным и светлым режимами Мохаве.
HTML-разметка:
<a href="https://jakearchibald.github.io/svgomg/" data-index="2" data-category="svg" rel="noopener noreferrer" class="data-app-button">
<span class="app-name">SVGOMG</span>
</a>
JavaScript:
// clicks
document.addEventListener(
"click",
function (event) {
if (event.target.closest("[data-app-index]")) {
let appID = event.target.closest("[data-app-index]").getAttribute("data-app-index");
return openApp(appID);
}
},
false
);
// openApp() - a regular window.open()
const openApp = appID => {
event.preventDefault();
// get app options
let appOptions = State.appList[appID];
appOptions.window = appOptions.window || {};
// merge with defaults
let defaultWindow = State.getDefaultWindow;
let options = Object.assign({}, defaultWindow, appOptions.window);
// center window
options.left = screen.width / 2 - options.width / 2;
options.top = screen.height / 2 - options.height / 2;
// translate to window.open args
let args = [];
for (let [key, val] of Object.entries(options)) args.push(`${key}=${val}`);
args = args.join(",");
// open app
return window.open(appOptions.url, appOptions.name, args);
};
Перед обновлением до Chrome 73 все работало должным образом: функция window.open()
правильно отображала веб-страницу.
Теперь окно открывается, но ничего не видно.