Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.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
如何在Kony应用程序中执行逻辑取决于它是运行在iOS、Android还是web浏览器上_Android_Ios_Mobile_Cross Platform_Temenos Quantum - Fatal编程技术网

如何在Kony应用程序中执行逻辑取决于它是运行在iOS、Android还是web浏览器上

如何在Kony应用程序中执行逻辑取决于它是运行在iOS、Android还是web浏览器上,android,ios,mobile,cross-platform,temenos-quantum,Android,Ios,Mobile,Cross Platform,Temenos Quantum,我正在使用创建一个全渠道应用程序,尽管它都是一个Javascript代码库,但我希望根据应用程序是在iOS、Android还是web浏览器上运行,有条件地执行一些逻辑。比如: ifisAndroid{ //做一些特定于Android的事情。 } 伊菲希奥斯酒店{ //做一些特定于iOS的事情。 } 否则我发誓{ //做一些特定于网络的事情。 } Kony支持ifdef,与。由于Kony项目是用Javascript编写的,因此必须以特殊注释的形式添加这些语句,以免破坏Javascript语法。例如

我正在使用创建一个全渠道应用程序,尽管它都是一个Javascript代码库,但我希望根据应用程序是在iOS、Android还是web浏览器上运行,有条件地执行一些逻辑。比如:

ifisAndroid{ //做一些特定于Android的事情。 } 伊菲希奥斯酒店{ //做一些特定于iOS的事情。 } 否则我发誓{ //做一些特定于网络的事情。 } Kony支持ifdef,与。由于Kony项目是用Javascript编写的,因此必须以特殊注释的形式添加这些语句,以免破坏Javascript语法。例如,ifdef变成了//ifdef

这些指令可用于编写内置于应用程序中或不依赖于主机操作系统的代码。所以我写了这样一篇文章来解决这个问题:

var通道; //ifdef平台\u本机\u IOS 频道=ios //恩迪夫 //ifdef平台\u本地\u ANDROID 频道=安卓 //恩迪夫 然后根据通道变量的值编写其余逻辑

有关在这些//ifdef语句中定义的宏的完整列表,您可以查看每个kony Visualizer项目中默认创建的kony_sdk.js模块的前几行

Kony支持ifdef,与。由于Kony项目是用Javascript编写的,因此必须以特殊注释的形式添加这些语句,以免破坏Javascript语法。例如,ifdef变成了//ifdef

这些指令可用于编写内置于应用程序中或不依赖于主机操作系统的代码。所以我写了这样一篇文章来解决这个问题:

var通道; //ifdef平台\u本机\u IOS 频道=ios //恩迪夫 //ifdef平台\u本地\u ANDROID 频道=安卓 //恩迪夫 然后根据通道变量的值编写其余逻辑

有关在这些//ifdef语句中定义的宏的完整列表,您可以查看每个kony Visualizer项目中默认创建的kony_sdk.js模块的前几行


另一种解决方案是依赖命名空间中的kony.os.deviceInfo函数

var deviceInfo=kony.os.deviceInfo; var os=deviceInfo.name/*android和web*/| | deviceInfo.osname/*iOS*/; ifos==i-phone | | os==i-pad{ //做一些特定于iOS的事情 } else ifos==android{ //做一些特定于Android的事情 } else ifos==thinclient{ //做一些特定于网络的事情。 }
这可能更简洁,但结果是所有的应用程序逻辑都被捆绑到每个构建中,而不管它用于哪个平台。因此,只有当您希望有条件地运行的逻辑量很小时,这才更好——可以说是因为您不想让一堆只在iOS上执行的逻辑污染您的Android代码库,反之亦然。

另一个解决方案是从名称空间依赖kony.os.deviceInfo函数

var deviceInfo=kony.os.deviceInfo; var os=deviceInfo.name/*android和web*/| | deviceInfo.osname/*iOS*/; ifos==i-phone | | os==i-pad{ //做一些特定于iOS的事情 } else ifos==android{ //做一些特定于Android的事情 } else ifos==thinclient{ //做一些特定于网络的事情。 } 这可能更简洁,但结果是所有的应用程序逻辑都被捆绑到每个构建中,而不管它用于哪个平台。因此,只有当您希望有条件地运行的逻辑量很小时,这才更好——可以说,这是因为您不想让一堆只在iOS上执行的逻辑污染您的Android代码库,反之亦然