我遇到一个问题,我的网页在页面右侧添加纯白色空间,导致水平滚动,但仅在 iOS 中的 WKWebView 中加载时才会出现。在 iOS 中的 Safari 中加载时不会
网页响应灵敏:
@media screen and (max-width: 960px) {
/* Adjust the breakpoint (768px) based on your needs */
.tile-container {
flex-direction: column;
align-items: center;
max-width: 100%;
}
.super-tile {
margin-bottom: 20px;
}
.arrow {
display: none;
}
}
它有元标签:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
WKWebView 已配置:
override func viewDidLoad() {
super.viewDidLoad()
webView.configuration.userContentController.add(self, name: "jsHandler")
webView.configuration.userContentController.add(self, name: "errorHandler")
webView.configuration.userContentController.add(self, name: "pickerHandler")
webView.navigationDelegate = self
webView.isInspectable = true
webView.configuration.allowsInlineMediaPlayback = true
webView.configuration.allowsPictureInPictureMediaPlayback = false
webView.load(URLRequest(url: URL(string: "https://example.com")!))
}
没有元素报告比屏幕尺寸更宽。然而
document.documentElement.scrollWidth
报告 540(设备宽度 393):
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
webView.evaluateJavaScript("document.documentElement.scrollWidth") { (result, error) in
if let width = result as? CGFloat {
print("HTML Content Width: \(width)")
}
}
}
WKWebView 是从 Interface Builder 实例化的。与 https://nytimes.com 而不是所需的网页
没有同样的问题这是在 iPhone 15 Pro 模拟器上运行的,因为我没有实体 iPhone 可以尝试。在物理 iPad 上或通过 Catalyst 运行没有问题
有什么想法吗?
原来模拟器缓存了一个 CSS 文件,在更改宽度后将其保持为 540
操作员错误