iOS 7 JavaScript的XMLHttpRequest错误
这篇文章是半问题 – 半公告..我开发iOS应用程序,其中包括执行JavaScript代码的UIWebView。 当我用最新的iOS 7在设备上运行应用程序时,一些function不起作用。 经过长时间的debugging,我设法隔离了原因。 JavaScript的AJAX有一个请求API与构造方法打开:
XMLHttpRequest.open(方法,URL,asynchronous)
如果调用应该被阻塞,否则“asynchronous”的说法是错误的。 iOS 7 safari上的问题仅在于,如果“async”为false,则此方法会引发exception。
所以,希望这可以帮助你遇到同样的问题,如果任何人都可以看到这个错误或解决方法,这将是伟大的
谢谢!
UIWebview不允许IOS7中的同步XHR。
这是WebView和Safari(允许它们)之间令人沮丧的区别之一。
解决方法:
-
创build一个使同步HTTP请求的Objective-C函数。
-
从JavaScript调用该函数 。 (这是同步发生的。)
当然,如果你想要caching的好处,你必须自己实现。
苹果认为要求解决方法是一个好主意,这有点令人困惑。