gpt4 book ai didi

javascript - WkWebview 被 Angular 卡住了

转载 作者:行者123 更新时间:2023-12-04 08:54:45 24 4
gpt4 key购买 nike

背景

我们有一个简单的 Angular +引导在使用 的外部应用程序中运行的应用程序WkWebview 嵌入我们的页面。该应用程序在桌面所有操作系统、Android 和 Iphone 中运行良好。
没有 javascript 错误或 CSS 警告。

问题

但是,随机当我们点击 <a href="#screen2" 时,它在 iPad 中停止运行.这会触发 routerProvider 上的更改为了改变屏幕 Controller 和模板。
它的接缝就像一个透明层正在锁定整个屏幕。或者所有事件(单击选项卡滚动)都被锁定。

怪异

如果我们将方向更改为横向,则屏幕将被解锁。如果我们再次转向纵向,它会再次锁定。

额外的

我们不能将 WkWebview 更改为更新的。我们只能控制 webapp。
我们知道 WkWebview 有几个相关的问题: 滚动、焦点和显示更改会影响渲染并导致空白或卡住屏幕。
我们还使用此脚本来避免某些焦点事件出现空白屏幕:

(function(){
try{
var a=navigator.userAgent;
if((a.indexOf('Salesforce')!=-1)&&(a.indexOf('iPhone')!=-1||a.indexOf('iPad')!=-1)&&(a.indexOf('OS/8')!=-1||a.indexOf('OS 8')!=-1||a.indexOf('OS/9')!=-1||a.indexOf('OS 9')!=-1||a.indexOf('OS 10')!=-1||a.indexOf('OS/10')!=-1)&&(a.indexOf('Safari')==-1)){
var s=document.createElement('style');
if(a.indexOf('OS/8')!=-1||a.indexOf('OS 8')!=-1) {
s.innerHTML="html,html body{overflow: auto;-webkit-overflow-scrolling:touch;}body{position:absolute;left:0;right:0;top:0;bottom:0;}";
}
else if(a.indexOf('OS/9')!=-1||a.indexOf('OS 9')!=-1) {
s.innerHTML="html,html body{overflow: auto;-webkit-overflow-scrolling:auto;}body{position:absolute;left:0;right:0;top:0;bottom:0;}";
}
else if(a.indexOf('OS/10')!=-1||a.indexOf('OS 10')!=-1) {
s.innerHTML="html,html body{overflow: auto;-webkit-overflow-scrolling:auto;}body{position:absolute;left:0;right:0;top:0;bottom:0;}";
}
document.getElementsByTagName('head')[0].appendChild(s);
}
} catch(e){}
})();

问题

有什么办法可以解决这个问题?

提前致谢

最佳答案

如果更好地共享链接以进行交叉检查,您的陈述将有两个问题

1)Angular+bootstrap 应用问题
检查您的应用程序操作系统生产版本与否,图像、css 是否已缩小以及是否支持 DSN。

2)WkWebview 问题:您在 Wkwebview 上检查您的 Web 应用程序有一些内存限制,但在检查 webview 的配置设置之前

https://developer.apple.com/documentation/webkit/wkwebviewconfiguration

关于javascript - WkWebview 被 Angular 卡住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39406525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com