Javascript UIWebView-独立于文本缩放图像
我想在iPhoneUIWebView中显示HTML。我的HTML看起来像Javascript UIWebView-独立于文本缩放图像,javascript,html,uiwebview,Javascript,Html,Uiwebview,我想在iPhoneUIWebView中显示HTML。我的HTML看起来像 text text <img src.../> text text 文本 文本 文本 文本 如何使组件(通过JavaScript或Objective C)使图像大小与窗口相匹配?即文本大小将保持不变,但图像将按比例缩小/放大以防止水平滚动 谢谢您可以使用百分比或ems在CSS中调整图像大小。这意味着您需要将图像的像素大小转换为百分比或ems。您还应该使用jpeg,因为它们的缩放效果更好 Jon Tan的这篇
text
text
<img src.../>
text
text
文本
文本
文本
文本
如何使组件(通过JavaScript或Objective C)使图像大小与窗口相匹配?即文本大小将保持不变,但图像将按比例缩小/放大以防止水平滚动
谢谢您可以使用百分比或ems在CSS中调整图像大小。这意味着您需要将图像的像素大小转换为百分比或ems。您还应该使用jpeg,因为它们的缩放效果更好
Jon Tan的这篇文章是我最喜欢的,它几乎解释了整个过程。你必须知道HTML是什么样子,因为唯一的方法就是操纵DOM 在Mac上,您可以通过Objective C访问DOM,但iPhone上没有该API。幸运的是,您可以通过UIWebView javascript桥执行同样的操作 假设HTML如下所示:
text
text
<img id="myimage" src="..." height="150" width="150"/>
text
text
唯一需要注意的是,您应该等待HTML通过webViewDidFinishLoad
委托回调完全加载
显然,您也可以选择以下快捷方式:
[webView stringByEvaluatingJavaScriptFromString:
@"document.getElementById("myimage").width = 300;"];
[webView stringByEvaluatingJavaScriptFromString:
@"document.getElementById("myimage").height = 300;"];
[webView stringByEvaluatingJavaScriptFromString:@"enlargeImage(300, 300)"];
[webView stringByEvaluatingJavaScriptFromString:
@"document.getElementById("myimage").width = 300;"];
[webView stringByEvaluatingJavaScriptFromString:
@"document.getElementById("myimage").height = 300;"];