stringByEvaluatingJavaScriptFromString在iOS 6中不工作
我看到问题只发生在iOS 6上,但在低于iOS 6的版本上运行良好 我的应用程序正在从一个链接加载图像,该链接需要使用Javascript放大图像像素,以在UIWebView的大小内填充。链接图像最初以140x24像素为单位 我看到它正在运行,但图像没有被放大使用iOS 6模拟器。它在iOS5模拟器中工作。请帮忙stringByEvaluatingJavaScriptFromString在iOS 6中不工作,javascript,ios,uiwebview,ios6,Javascript,Ios,Uiwebview,Ios6,我看到问题只发生在iOS 6上,但在低于iOS 6的版本上运行良好 我的应用程序正在从一个链接加载图像,该链接需要使用Javascript放大图像像素,以在UIWebView的大小内填充。链接图像最初以140x24像素为单位 我看到它正在运行,但图像没有被放大使用iOS 6模拟器。它在iOS5模拟器中工作。请帮忙 (void)webViewDidFinishLoad:(UIWebView *)webView { [webView stringByEvaluatingJavaScriptFr
(void)webViewDidFinishLoad:(UIWebView *)webView {
[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName(\"img\")(0).height=\"30\";document.getElementsByTagName(\"img\")(0).width=\"280\";"];
}
javascript中获取数组第n个元素的语法是使用方括号,而不是括号。因此,请使用
document.getElementsByTagName(“img”)[0]
而不是document.getElementsByTagName(“img”)(0)
不知道为什么它在iOS5中工作,WebKit在iOS6中可能更严格
附加提示:要在iOS6上调试javascript错误,一个新功能使其非常简单:
- 转到iPhone中的“设置”应用程序,输入“Safari”设置并点击底部的“高级”,然后从那里启用“WebKit Inspector”
- 在屏幕上显示要调试的页面(即启动应用程序并转到包含WebView的屏幕以使其可见)
- 通过USB电缆将iPhone插入Mac
- 在Mac上打开Safari.app,进入“开发”菜单(1),选择带有iPhone名称的菜单项,然后在子菜单中选择应用程序