MOBILE-3833 ios: Fix handle iframe links in iOS

main
Dani Palou 2022-03-30 09:38:55 +02:00
parent 6dadd7b9a6
commit 9884ceb6b3
2 changed files with 5 additions and 17 deletions

View File

@ -17,10 +17,11 @@ import { CoreIframeUtils } from '@services/utils/iframe';
import { Platform } from '@singletons'; import { Platform } from '@singletons';
export default async function(): Promise<void> { export default async function(): Promise<void> {
await Platform.ready();
if (!CoreApp.isIOS() || !('WKUserScript' in window)) { if (!CoreApp.isIOS() || !('WKUserScript' in window)) {
return; return;
} }
await Platform.ready();
CoreIframeUtils.injectiOSScripts(window); CoreIframeUtils.injectiOSScripts(window);
} }

View File

@ -446,26 +446,13 @@ export class CoreIframeUtilsProvider {
} else { } else {
element.setAttribute('src', url); element.setAttribute('src', url);
} }
} else if (CoreUrlUtils.isLocalFileUrl(url)) { } else {
// It's a local file.
const filename = url.substring(url.lastIndexOf('/') + 1);
if (!CoreFileHelper.isOpenableInApp({ filename })) {
try { try {
await CoreFileHelper.showConfirmOpenUnsupportedFile(); // It's an external link or a local file, check if it can be opened in the app.
} catch (error) { await CoreWindow.open(url, name);
return; // Cancelled, stop.
}
}
try {
await CoreUtils.openFile(url);
} catch (error) { } catch (error) {
CoreDomUtils.showErrorModal(error); CoreDomUtils.showErrorModal(error);
} }
} else {
// It's an external link, check if it can be opened in the app.
await CoreWindow.open(url, name);
} }
} }