我正在为多个设备编写一个HTML5 / JavaScript应用程序,但是在为Win8和iOS编写应用程序时出现了问题。
由于Win8的严格安全性,我需要在一个名为execUnsafeLocalFunction的WinJS函数中封装某些函数,特别是那些将HTML或div注入窗口的函数。
当我在iOS上运行这个相同的应用程序时,它不能运行这些函数,因为WinJS不存在。
如何创build一个条件语句,以检查运行该应用程序的设备是Win8设备还是iOS? 这样我可以告诉它运行函数foo或function栏 。
如何利用Windows中的RDMA
以下关于UNREFERENCED_PARAMETER的目的是什么?
在USB驱动器巧克力设置
Perf mon _total vs <所有实例>
如何在Windows中访问笔记本电脑的电池温度?
如何在Windows8上安装Pygame以使用Python 3.3.3?
WM_GETMINMAXINFO,ptMaxSize没有任何作用
是否有一个“Mercurial通知程序”,告诉我什么时候外部存储库已经改变?
redhat cygwin vs cygwin? 任何差异?
应用程序没有焦点时禁用Qt鼠标事件
JavaScript目前不支持条件编译,所以我认为你需要编写自己的stub函数来包装像execUnsafeLocalFunction这样的函数。 在这个函数中,你可以通过检查命名空间来测试函数是否存在。 就像是:
function callUnsafeFunction(func) { if (MSApp && MSApp.execUnsafeLocalFunction) { return MSApp.execUnsafeLocalFunction(func); } else { return func() } }
或者,您可以检查该函数是否存在于名称空间中,如果不存在,则添加自己的函数,名称与传递相同,如下所示(我没有测试过这样的代码):
if (!(MSApp && MSApp.execUnsafeLocalFUnction)) { window.MSApp = { execUnsafeLocalFunction: function(func) { func(); } }; }
简而言之,条件检查是存在一个名称空间/函数,因为我们没有条件编译。