编程语言
首页 > 编程语言> > javascript – iOS 11 – 独立的网络应用程序链接打开默认反转? (在Web应用程序中处理PDF显示.)

javascript – iOS 11 – 独立的网络应用程序链接打开默认反转? (在Web应用程序中处理PDF显示.)

作者:互联网

阻止独立网络应用中的链接在移动版Safari中打开有很多流量,但引用的iOS版本要早得多(7-9?).在iOS 11中,我遇到了相反的问题:在我的独立Web应用程序中,我有指向需要显示的PDF文件的链接.当我点击它们时,无论我给出了什么选项,它们都会在Web应用程序浏览器中打开,而不是在Safari内部打开.由于独立模式,结果是Web应用程序中的死胡同,需要重新启动应用程序. (Android似乎做了正确的事情并转移到pdf查看应用程序.)

单击处理程序(javascript / bootstrap / jquery):

function openDocument(docURL) {
    window.open(docURL,'_blank');
    return false;
}

或者,可以为新页面打开Web应用程序内的导航,以便我可以避免死路一条吗? (我认为没有,因为我正在阅读;我已经尝试了一些选项来开窗.打开无济于事.)或者是否有可能以某种方式组合一个(多页)pdf查看器和一个用于解雇的UI元素?建议欢迎.

编辑:总结下面的讨论,iOS在独立的Web应用程序中处理内部和外部链接的方式不同.通过在服务器端重新映射使链接看起来是外部的,允许链接强制Safari打开.

解决方法:

HHave页面中有iFrame或DIV,并在该组件内加载PDF.在iFrame上方有一个后退按钮,以避免死胡同.

<iframe src="https://example.com/mypdf.pdf"
   width="match your parent element" height="match your parent element" >

您可以在此处看到另一个选项到embed PDF.

更新:如果您打开PDF表单的不同域或子域,即使在iOS中,它也将在单独的窗口中打开.假设您的PWA URL是https://www.example.com/myapp,如果您当前正在从“https://www.example.com/myapp/pdf/mypdf.pdf”访问pdf,请为此URL设置别名,如“https://www.pdf.example.com/myapp/mypdf.pdf”.

如果域或子域在PWA中发生更改,它将被视为外部链接,并且将始终在新窗口中打开,而不是在引导死胡同的应用程序内部打开.如果CSS黑客攻击不够好,你可以试试这个.

标签:iphone-standalone-web-app,progressive-web-apps,javascript,ios
来源: https://codeday.me/bug/20190910/1799044.html