gpt4 book ai didi

javascript - 以编程方式调整动态 html 大小以适应 UIWebView

转载 作者:行者123 更新时间:2023-11-28 05:42:19 24 4
gpt4 key购买 nike

要求是将 HTML 适配到具有固定尺寸的 UIWebView,即预定义的宽度 x 高度组合,这些尺寸可以由开发人员指定。关于 HTML,它包含进一步加载具有动态元素的其他 html 的脚本,其性质在运行时是未知的,因为动态 html 基本上是富媒体广告(广告)。我从 SO 上针对类似问题发布的 100 个解决方案中尝试过:

  1. 将元视口(viewport)宽度和高度更改为 Web View 的宽度和高度 ( https://developers.google.com/webmasters/mobile-sites/mobile-seo/responsive-design && http://webdesignerwall.com/tutorials/viewport-meta-tag-for-non-responsive-design )
  2. 通过脚本标签 (http://codetheory.in/scaling-your-html5-canvas-to-fit-different-viewports-or-resolutions/) 将 canvas 和 div 元素 width/max-width 和 height/max-height 的 CSS 更新为 webview 的 CSS(基于显示这些元素是形成 HTML 的主要元素的测试) , HTML Content fit in UIWebview without zooming out )
  3. Javascript 注入(inject)来更新 canvas 和 div 元素。

问题:无论上述 3 个更改一起应用还是作为组合应用,都无法在 Web View 中正确呈现 HTML。元素要么溢出,要么缩小,因此显示永远不会“正确”。这让我相信这完全不可能,因为

  • HTML 元素的布局无法单独根据其大小进行控制,因为它们一起工作,并且不建议错误地更改它们
  • 初始 HTML 可以加载除 div 和 canvas 等元素之外的任何其他 HTML。
  • 应用上述方法将导致 html 扭曲,因为所有 div 和 canvas' 都会以相同的方式处理,无论其宽度和高度如何

我还没有发布上面尝试过的方法的实际代码,因为没有一个有效,而且我认为它们不能满足动态 HTML 的需求。我陷入了困境,如果有人能够证实我的信念并验证它们或为我指出解决方案,我将不胜感激。如果这样的解决方案据说在应用程序级别(在 UIWebView 中)不可能,那么也许我可以说服 html 提供商提供基于大小的 HTML。如有任何帮助,我们将不胜感激。

最佳答案

- (void)webViewDidFinishLoad:(UIWebView *)webView {
CGRect newBounds = webView.bounds;
newBounds.size.height = webView.scrollView.contentSize.height;
webView.bounds = newBounds;
}

(新泽西州)

关于javascript - 以编程方式调整动态 html 大小以适应 UIWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38825126/

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