对于iOS的一个项目,我遇到了一个奇怪的情况。
它是使用browserify和React为Cordova创建的,并针对iOS。
我们已经使用Cordova命令为iOS构建了项目,没有任何问题。它运行时没有xcode错误或Javascript错误,但是没有任何JS出现在屏幕上。我们只会看到一个白色的空白屏幕,系统栏在顶部。请参阅附件中的屏幕截图。
到目前为止,我们已经发现,如果您将HTML添加到WWW文件夹中的index.html中,它会很好地打印出来,所以我假设是JS。
当我们在浏览器中运行时,它就像为Android构建一样好用。
除了iOS (模拟器和设备构建)之外,我们没有任何问题。
希望有人能帮助我,因为我被难住了。请让我知道您需要查看哪些文件,我会提供给您。
提前谢谢。
显示错误屏幕:http://www.voidapplications.co.uk/errorScreen.png我们期望显示的内容:http://www.voidapplications.co.uk/whatWeExpect.png
发布于 2015-08-20 21:51:33
如果您使用的是国际化组件,那是因为您需要使用Intl polyfill:
Intl.js和FT Polyfill服务
Intl.js polyfill最近被添加到Polyfill service中,这是由Financial Times的一个团队领导的贡献者社区开发和维护的。它可以通过通过Fastly路由流量的cdn.polyfill.io域提供,无论您的用户在哪里,它都可以提供全球高可用性和卓越的性能。
在加载或解析自己的JavaScript之前,只需在页面中添加一个脚本标记即可通过Polyfill service使用Intl polyfill:
<script src="https://cdn.polyfill.io/v1/polyfill.min.jsfeatures=Intl.~locale.en"></script>当通过polyfill服务指定要使用的features时,您必须指定要加载的语言环境,或者指定要与Intl polyfill一起加载的语言环境,以便页面正常工作。在上面的示例中,我们指定了Intl.~locale.en,这意味着只有en,但您可以这样做:
<script src="https://cdn.polyfill.io/v1/polyfill.min.js?features=Intl.~locale.fr,Intl.~locale.pt"></script>注意:上面的示例将使用两个区域设置数据集fr和pt__加载polyfill。
到目前为止,这是使用Intl polyfill的最佳选择,因为它只会在真正需要时加载polyfill代码和相应的语言环境数据(例如: safari将获得代码并修补运行时,而chrome将获得一个空的脚本标记)。
源和包含国际多边形填充的其他方式:https://github.com/andyearnshaw/Intl.js#getting-started
发布于 2015-07-27 23:14:39
您可以使用Safari http://moduscreate.com/enable-remote-web-inspector-in-ios-6/在模拟器中调试UIWebView。您可能会在控制台中看到一条很大的错误消息,如果没有,您将可以访问调试器,这样您就可以单步执行并对其进行排序。
发布于 2016-08-30 06:46:54
我以前也遇到过这个问题,原来是不支持的javascript特性。例如,在函数中设置默认参数。即:
function test( myvalue=0 ) { /* ... */ };相反,我必须在函数内部初始化值。您还可以尝试删除您可能已实施的任何ecma script 2016功能。
解决这类问题的困难是痛苦的。我创建了我的产品的最小部分的最小版本,编译并在ios模拟器上运行,添加了产品的另一块,漂洗和重复。
我确信有更好的方法来检测这些问题,但我不知道。
https://stackoverflow.com/questions/31656629
复制相似问题