博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
理解使用 JavaScript 构建 Metro 应用
阅读量:5057 次
发布时间:2019-06-12

本文共 2899 字,大约阅读时间需要 9 分钟。

从 Windows 7 升级到 Windows 8 Consumer Preview 后,会导致 Microsoft Visual Studio 11 Express Beta for Windows 8 无法申请开发者证书。

Upgrade from Windows 7 can cause the “We couldn’t get your developer license” error 

解决方法在这里:http://t.cn/zOVOlmS 其实就是重装

 

这里是中文教程

使用 JavaScript 创建你的第一个 Metro 风格应用:http://msdn.microsoft.com/zh-cn/library/windows/apps/br211385

 

每个 HTML 都需要引用 WinJS和样式

<link href="//Microsoft.WinJS.0.6/css/ui-dark.css" rel="stylesheet">

<script src="//Microsoft.WinJS.0.6/js/base.js"></script>
<script src="//Microsoft.WinJS.0.6/js/ui.js"></script>

适用于 Metro 风格应用的 JavaScript 项目模板

 

default.html  该文件最先加载,并为内容主体(其中每个页面都加载进主窗体)提供标记。

default.css 为内容主体页面和应用整体指定 CSS 样式

default.js 指定当启动应用时的应用的行为

// For an introduction to the Split template, see the following documentation:// http://go.microsoft.com/fwlink/?LinkID=232447(function () {    "use strict";    var app = WinJS.Application;    app.onactivated = function (eventObject) {        if (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {            if (eventObject.detail.previousExecutionState !== Windows.ApplicationModel.Activation.ApplicationExecutionState.terminated) {                // TODO: This application has been newly launched. Initialize                 // your application here.            } else {                // TODO: This application has been reactivated from suspension.                 // Restore application state here.            }            WinJS.UI.processAll();        }    };    app.oncheckpoint = function (eventObject) {        // TODO: This application is about to be suspended. Save any state        // that needs to persist across suspensions here. You might use the         // WinJS.Application.sessionState object, which is automatically        // saved and restored across suspension. If you need to complete an        // asynchronous operation before your application is suspended, call        // eventObject.setPromise().     };    app.start();})();

  

Metro应用的生命周期

应用的生命周期在应用启动时开始,并在应用关闭时结束。项目模板包还一个用于管理应用生命周期的通用模式。

 

default.html文件被设置为每个模板的起始页面。default.html对应的JavaScript文件包含以下对WinJS.Application.start的调用,该调用会启动应用事件的分发。

 

严格模式的引入,目的在于避免ECMAScript应用中通常的代码问题。这是通过在单元(脚本或函数)上指定一句话来达到的:

"use strict;"

这句话不会对已有的运行时产生什么影响,但版本是5的新运行时就会为整个脚本(如果这句话定义在脚本开头)或者单个函数(如果定义在函数的开头)打开严格模式。这样就允许计划中的既有代码对严格模式和非严格模式的混合使用。那么,严格模式意味着什么呢?

变量在使用前必须声明。换句话说,i=3这下就是个运行时错误了;需要var i=3(如果i在做作用域里面没有定义过)

eval变成保留字,而从eval引入的新变量不再有效,因此eval("var i=3"); print(i);现在会抛出错误。
不再使用八进制;所以010就是十,不再是八。
如果configurable被设置成false,delete就不能使用在参数、函数、变量或者其他属性上。
一般会带来错误的with语句,将不再使用,会被认为是语法错误。
函数不再能使用具有相同名称的重复参数。
对象不再能使用具有相同名称的重复属性。
arguments和caller变量不再可变。
对全局对象的访问将会是运行时错误。

 

右侧博客园的文章一直不能正常显示,一直在找代码的原因,纠结了好久。

toStaticHTML的方法,<a>标签中有target="_blank"会被替换掉。

再一个就是无法显示的图像也会导致无法正常显示文章,用下面的正则替换掉后即可。

staticContent = staticContent.replace(/<img src=.*aggbug.*>/, ''); 

 

转载于:https://www.cnblogs.com/leavingme/archive/2012/03/11/2390314.html

你可能感兴趣的文章
Log4net 日志使用介绍
查看>>
Powershell中获取最后一个被更新的文件
查看>>
3.Gen_Fsm行为
查看>>
shell date获取时间值
查看>>
Javascript把数据从一个页面的层传递到另一个页面层里面
查看>>
网站session容易丢失解决方法
查看>>
用户界面控件Telerik UI for WinForms发布R2 2019|附下载
查看>>
Memcache基础教程
查看>>
Oracle数据库--解决单张表中数据量巨大(大数据、数据量上百万级别,后查询,更新数据等耗时剧增)...
查看>>
云serverlinux又一次挂载指定文件夹(非扩充)
查看>>
PCB 帆软FineReport安装,布署,配置
查看>>
设计模式笔记20:解释器模式(Interpreter Pattern)
查看>>
css一般的表格样式
查看>>
Dijkstra算法+堆优化处理
查看>>
oracle中字段名与sql关键词重复的处理方法
查看>>
[svc]ssh生成key不交互
查看>>
docker:安装mysql
查看>>
Linux 的cp命令
查看>>
SQL语句
查看>>
ThinkPHP里面用原生SQL
查看>>