Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
stringByEvaluatingJavaScriptFromString在iOS 6中不工作_Javascript_Ios_Uiwebview_Ios6 - Fatal编程技术网

stringByEvaluatingJavaScriptFromString在iOS 6中不工作

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

我看到问题只发生在iOS 6上,但在低于iOS 6的版本上运行良好

我的应用程序正在从一个链接加载图像,该链接需要使用Javascript放大图像像素,以在UIWebView的大小内填充。链接图像最初以140x24像素为单位

我看到它正在运行,但图像没有被放大使用iOS 6模拟器。它在iOS5模拟器中工作。请帮忙

(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名称的菜单项,然后在子菜单中选择应用程序
然后,您将能够使用Mac上强大的web检查器调试iPhone中显示的网页,并可以查看javascript控制台、DOM树等

(1) 如果您的Mac上没有Safari中的“开发”菜单,您可以在Safari应用程序的“高级”首选项选项卡中启用它