我发现问题仅在 iOS 6 上发生,但在 iOS 6 以下版本上运行良好。
我的应用正在从一个链接加载图像,该链接需要使用 Javascript 放大其图像像素以填充到 UIWebView 的大小内。链接图像最初以 140x24 像素为单位。
我看到它正在运行,但图像没有使用 iOS 6 模拟器放大。它确实适用于 iOS 5 模拟器。请帮忙。
(void)webViewDidFinishLoadUIWebView *)webView {
[webView stringByEvaluatingJavaScriptFromString"document.getElementsByTagName(\"img\")(0).height=\"30\";document.getElementsByTagName(\"img\")(0).width=\"280\";"];
}
Best Answer-推荐答案 strong>
javascript 中获取数组第 n 个元素的语法是使用方括号,而不是圆括号。所以使用 document.getElementsByTagName("img")[0] 而不是 document.getElementsByTagName("img")(0) 。
不知道为什么它在 iOS5 中工作,WebKit 在 iOS6 中可能更严格......
附加提示:在 iOS6 上调试 javascript 错误,一个新功能让它变得非常简单:
- 转到 iPhone 中的“设置”应用程序,输入“Safari”设置并点击底部的“高级”,然后从那里启用“WebKit 检查器”
- 在屏幕上显示您要调试的页面(即启动您的应用并转到包含 WebView 的屏幕以使其可见)
- 通过 USB 数据线将 iPhone 插入 Mac
- 在您的 Mac 上打开 Safari.app,进入“开发”菜单(1),选择带有您 iPhone 名称的菜单项,然后在子菜单中选择您的应用程序。
然后,您将能够使用 Mac 中强大的 Web Inspector 调试 iPhone 中显示的网页,并可以查看 javascript 控制台、DOM 树等。
(1) 如果您在 Mac 上的 Safari 中没有“开发”菜单,您可以在 Safari 应用程序的“高级”首选项选项卡中启用它。
关于javascript - stringByEvaluatingJavaScriptFromString 在 iOS 6 中不起作用,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/12704593/
|