有条件的声明来检查Win8或iOS

我正在为多个设备编写一个HTML5 / JavaScript应用程序,但是在为Win8和iOS编写应用程序时出现了问题。

由于Win8的严格安全性,我需要在一个名为execUnsafeLocalFunction的WinJS函数中封装某些函数,特别是那些将HTML或div注入窗口的函数。

当我在iOS上运行这个相同的应用程序时,它不能运行这些函数,因为WinJS不存在。

如何创build一个条件语句,以检查运行该应用程序的设备是Win8设备还是iOS? 这样我可以告诉它运行函数foofunction栏

如何利用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(); } }; }

简而言之,条件检查是存在一个名称空间/函数,因为我们没有条件编译。

相关文章

引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个...
引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要...
一. 宏观概念 ASP.NET Core Middleware是在应用程序处理管道...
背景 在.Net和C#中运行异步代码相当简单,因为我们有时候需要...
HTTP基本认证 在HTTP中,HTTP基本认证(Basic Authenticatio...
1.Linq 执行多列排序 OrderBy的意义是按照指定顺序排序,连续...