IE的Javascript条件编译
20140515更新。
(function(root){ var node = document.getElementById('demo_20150515170602'); var link = 'https://msdn.microsoft.com/zh-cn/library/121hztk3(v=vs.94).aspx'; var html = '<a href="'+link+'" target="_blank">此浏览器不支持IE的@cc_on条件编译!</a>'; /*@cc_on var tips = { defaults:'Internet Explorer 11 之前的所有版本的 Internet Explorer 都支持条件编译。 从 Internet Explorer 11 标准模式开始,Windows 应用商店应用不支持条件编译。', statement:'可通过使用 @cc_on 语句或者使用 @if 或 @set 语句来激活条件编译。 条件编译的一些典型用途包括在 JavaScript 中使用新功能、将调试支持嵌入到脚本中以及跟踪代码执行', vars:'以下预定义变量可用于条件编译。 如果变量不为 true,则该变量是未定义的,并且在被访问时其行为与 NaN 相同。' }; var vars = [{ name: '@_win32', desc: '如果在 Win32 系统上运行,则为 true。' }, { name: '@_win16', desc: '如果在 Win16 系统上运行,则为 true。' }, { name: '@_mac', desc: '如果在 Apple Macintosh 系统上运行,则为 true。' }, { name: '@_alpha', desc: '如果在 DEC Alpha 处理器上运行,则为 true。' }, { name: '@_x86', desc: '如果在 Intel 处理器上运行,则为 true。' }, { name: '@_mc680x0', desc: '如果在 Motorola 680x0 处理器上运行,则为 true。' }, { name: '@_PowerPC', desc: '如果在 Motorola PowerPC 处理器上运行,则为 true。' }, { name: '@_jscript', desc: '始终为 true。' }, { name: '@_jscript_build', desc: '包含 JavaScript 脚本引擎的生成号。' }, { name: '@_jscript_version', desc: '包含 major.minor 格式的 JavaScript 版本号。' }]; var varsHtml = (function(){ var html = []; for (var i = vars.length - 1; i >= 0; i--) { var item = vars[i]; html.push('<em>'+item.name+'</em>('+eval(item.name)+'):'+item.desc+'<br />'); }; return '<p>'+html.join('')+'</p>'; })(); html = [ '<h4><a href="'+link+'" target="_blank">条件编译</a></h4>', '<p>'+tips.defaults+'</p>', '<h5>语句</h5>', '<p>'+tips.statement+'</p>', '<h5>变量</h5>', '<p>'+tips.vars+'</p>', '<p>注意:以下变量并不是window的属性,如 window["@_jscript_version"] 并不能取到值,但 @_jscript_version 可以。</p>', varsHtml ].join(''); @*/ node.innerHTML = html; })(window); |
近期评论