Windows 用于检查Win8或iOS的条件语句
我正在为多台设备编写一个HTML5/JavaScript应用程序,但在为Win8和iOS编写应用程序时遇到了问题 由于Win8的严格安全性,我需要将某些函数,特别是那些向窗口中注入HTML或div的函数,封装在一个名为 当我在iOS上运行同一个应用程序时,它无法运行这些功能,因为WinJS不存在Windows 用于检查Win8或iOS的条件语句,windows,winjs,Windows,Winjs,我正在为多台设备编写一个HTML5/JavaScript应用程序,但在为Win8和iOS编写应用程序时遇到了问题 由于Win8的严格安全性,我需要将某些函数,特别是那些向窗口中注入HTML或div的函数,封装在一个名为 当我在iOS上运行同一个应用程序时,它无法运行这些功能,因为WinJS不存在 如何创建条件语句,以便它检查运行应用程序的设备是Win8设备还是iOS?通过这种方式,我可以告诉它运行函数foo或函数栏JavaScript目前不支持条件编译,因此我认为您需要编写自己的存根函数来封装e
如何创建条件语句,以便它检查运行应用程序的设备是Win8设备还是iOS?通过这种方式,我可以告诉它运行函数foo或函数栏JavaScript目前不支持条件编译,因此我认为您需要编写自己的存根函数来封装execunsaleocalfunction之类的函数。在该函数中,您可以通过检查名称空间来测试该函数是否存在。比如:
function callUnsafeFunction(func) {
if (MSApp && MSApp.execUnsafeLocalFunction) {
return MSApp.execUnsafeLocalFunction(func);
} else {
return func()
}
}
或者,您可以检查该函数是否存在于名称空间中,如果不存在,则添加与passthrough同名的函数,类似于这样(我没有测试过此类代码):
简而言之,条件检查是指名称空间/函数的存在,因为我们没有条件编译
if (!(MSApp && MSApp.execUnsafeLocalFUnction)) {
window.MSApp = {
execUnsafeLocalFunction: function(func) {
func();
}
};
}