Windows 8 JavaScript Metro应用程序--入门(上)

Windows 8 JavaScript Metro应用程序--入门(上)

 

如你所知的Windows8允许你通过以下几种方式创建Metro应用程序:

  • C++
  • C# 
  • JavaScript

第一部分将侧重于主体结构和JavaScript Grid 应用程序的基础,在随后的文章中我将深度探究在Windows8中更多的功能。

第一步:基础知识

当你写Windows8 JavaScript风格的应用时,你可能需要学习一点WinJS和在Windows 8 JavaScript应用中可用的基本动作。我看到了关于Windows 8 Javascript应用程序集成JQuery的文章,其实这是没有必要的,WinJS已经提供了许多这些:

  • 选择器:
    • document.querySelector(".headerTemplate")
    • document.querySelectorAll("div")
  • 文本 
    • document.querySelector(“#Title”).textContent; 
  • 动画:
    • WinJS.UI.Animation.fadeIn(document.querySelector(“div”));

更多

第二步:Application Styles

当你在Visual Studio 11中打开一个新的JavaScript Metro应用,你可以从以下选择:

 

  • Blank Application 空白Windows Metro应用的项目,没有预定义的控件或布局。

 

 

  • Split Application – 一个两个页面Windows metro风格应用的项目,在分组项目导航。第一页允许组的选择,而旁边的第二台显示器所选的项目的详细项目清单。

 

  • Fixed Layout Application 一个可扩展固定宽高比布局的Windows metro风格应用的项目

 

  • Navigation Application 一个有预定义导航控件的Windows metro风格应用项目

 

  • Grid Application – 一个多页的、项目组之间导航的Windows Metro风格的应用程序。专用页面显示组合项目的详细信息。

 

 

这个Demo中我创建了一个新的 Grid Application: 

 

 第三步: 项目结构

在以前Visual Studio 11Windows8的版本是JS文件夹里面有所有的WinJS文件,在最新的版本种所有的必要文件在两个主要文件中,参考下:

  • base.js
  • ui.js

在上面创建的 Grid Application 你将有三个页面:

  • groupDetailsPage
  • groupedItemsPage
  • itemDetailsPage

请注意,每个HTML页都有自己的CSSJavaScript文件,它们没有命名约定自动接受这些并结合,但关于如何创建Windows 8 JavaScript应用程序、规范或应用程序,这是最好的做法。

 

第四步:应用程序流程 

一切从default.html开始,这个页面加载所有必需的js文件、css文件和使用PageControlNavigator 导航应用程序到groupedItemsPage 

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8">
 5     <title>Application1</title>
 6  
 7     <!-- WinJS references -->
 8     <link href="//Microsoft.WinJS.0.6/css/ui-dark.css" rel="stylesheet">
 9     <script src="//Microsoft.WinJS.0.6/js/base.js"></script>
10     <script src="//Microsoft.WinJS.0.6/js/ui.js"></script>
11  
12     <!-- Application1 references -->
13     <link href="/css/default.css" rel="stylesheet">
14     <script src="/js/data.js"></script>
15     <script src="/js/navigator.js"></script>
16     <script src="/js/default.js"></script>
17 </head>
18 <body>
19     <div id="contenthost" 
20          data-win-control="Application1.PageControlNavigator" 
21         data-win-options="{home: '/html/groupedItemsPage.html'}"></div>
22 </body>
23 </html>

 

 

The groupedItemsPage 加载相关的JS/CSS文件

 

 1  <title>groupedItemsPage</title>
 2     
 3     <!-- WinJS references -->
 4     <link href="//Microsoft.WinJS.0.6/css/ui-dark.css" rel="stylesheet">
 5     <script src="//Microsoft.WinJS.0.6/js/base.js"></script>
 6     <script src="//Microsoft.WinJS.0.6/js/ui.js"></script>
 7     
 8     <link href="/css/default.css" rel="stylesheet">
 9     <link href="/css/groupedItemsPage.css" rel="stylesheet">
10     <script src="/js/data.js"></script>
11     <script src="/js/groupedItemsPage.js"></script>

 

 

这个流程适用于你加载每个页面。

 

 

Windows 8 JavaScript Metro应用程序--入门(下)(待续)

 

 

 

posted on 2012-03-04 01:20 李明杨 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lmyhao/archive/2012/03/04/2378940.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434632.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内核编译(make)

内核编译&#xff08;make&#xff09;之后会生成两个文件&#xff0c;一个Image&#xff0c;一个zImage&#xff0c;其中Image为内核映像文件&#xff0c;而zImage为内核的一种映像压缩文件&#xff0c;Image大约为4M&#xff0c;而zImage不到2M。 那么uImage又是什么的&#…

cobol to java_cobol to java

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼(a) Javaソースプログラムの作成COBOLプログラムを呼び出すJavaプログラムでは&#xff0c;次の三つのJavaソースファイルを作成する必要があります。mainメソッドを含むJavaプログラム(Javaクラス)COBOLプログラムに対応するJava…

Elf

机器执行的是机器指令&#xff0c;而机器指令就是一堆二进制的数字。高级语言编写的程序之所以可以在不同的机器上移植就因为有为不同机器设计的编译器的存在。高级语言的编译器就是把高级语言写的程序转换成某个机器能直接执行的二进制代码。以上的知识在我们学习CS(Computer …

python教程闭包_Python教程 闭包的特性

作者&#xff1a;Vamei 出处&#xff1a;http://www.cnblogs.com/vamei 欢迎转载&#xff0c;也请保留这段声明。谢谢&#xff01;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~闭包(closure)是函数式编程的重要的语法结构。函数式编…

直接打印报表

在ax中有时可能需要在打印时&#xff0c;不显示报表的预览与设置窗口&#xff0c;而是直接Send到打印机。可以使用ClassFactory、PrintJobSettings、ReportRun来完成。 static void NJ_MF_DirectPrint(Args _args) { Args args new Args(); ReportRun …

如何构建自己的SIP SERVER!

如果你下载了 sip phone, 自己又做了一个 SIP SERVER,那么你就可以当老大了&#xff0c;不要什么MSN&#xff0c;QQ的语音通话了&#xff0c;自己就可以直接同你想要的人通话了。1&#xff1a;软件准备&#xff1a;A: SIP SERVER http://www.brekeke.com/en/download/idx_sipse…

java java.lang_Java之java.lang.IllegalMonitorStateException

今天又中彩了, 原本很简单的多线程程序, 蓦然间冒了个"java.lang.IllegalMonitorStateException" , 杀了个措手不及. 一直纳闷, 为什么为什么? 查资料说该异常由于对象未获取得到Lock就试图操作Lock. 再细细源码, 原来不不小将lock.lock()写错为lock.tryLock(). 坑爹…

CruiseControl.NET ----- mail 配置

最近在用 CruiseControl.NET实现每日构建&#xff0c;其他配置起来都挺方便&#xff0c;就是在邮件设置上费了不少时间,我用的是CC.NET1.6,这个版本已经支持发送附件&#xff0c;如果使用外部邮箱&#xff0c;记得要把邮箱的smtp功能打开&#xff0c;下面是Mail配置的一个例子&…

java编程字_Java编程基本概念

1.标识符①用于给变量、类和方法命名(类名首字母大写&#xff0c;变量和方法名首字母小写并遵循驼峰原则)②标识符的命名规范&#xff1a;■标识符必须以字母、下划线和美元符$开头。■标识符其他部分可以是字母、下划线、美元符和数字的任意组合。■Java标识符大小写敏感&…

ubuntu gedit出错:Failed to connect to the session manager

刚才用su到root后&#xff0c;用命令gedit发现会出错&#xff1a;** (gedit:2976): WARNING **: 连接已关闭(gedit:2976): EggSMClient-WARNING **: Failed to connect to the session manager:None of the authentication protocols specified are supported** (gedit:2976): …

php 类的实现 完整例子

文件目录&#xff1a; --index.php --php --data_info.php index.php 这里要require_once类所在的php文件 <?php require_once(./php/data_info.php);$oneDatanew user;$oneData->setName("username");$oneData->setPassword("password");echo $…

mac java版本 不一致_mac实现不同版本的jdk切换

之前使用jdk11进行java开发(纯粹因为喜欢新版?)但是使用jdk11在布署hadoop伪分布时各种报错, 所以还是下载jdk8回来.接下来就是mac端切换两个版本的jdk(按照网上找的方式好像有bug-文章最后再说.虽然不知道怎么解决,但是至少我可以成功部署hadoop, 所以这里就先忽略)首先下载j…

Meld安装

Ubuntu下文件/目录对比的软件Meld可能有很多用户还不是很熟悉&#xff0c;下文就给大家介绍如何安装Meld和移植到Gedit下。具体内容如下所述。 Meld允许用户查看文件、目录间的变化。很容易移植到Gedit下&#xff0c;方便用户使用。 安装Meld Meld默认在Ubuntu官方源中&#…

ios sqlite3 初级应用

ios sqlite3 初级应用 在ios中&#xff0c;持久化用好几种 方法&#xff0c;前面已经介绍了 两种 &#xff0c;一个是简单的写入文件&#xff0c;另一个是加入了序列化并写入文件中&#xff0c;现在介绍 ios 中嵌入式数据库sqlite3的初级应用 当然在使用sqlite3之前 你需要将l…

java aqs源码_java中AQS源码分析

AQS内部采用CLH队列。CLH队列是由节点组成。内部的Node节点包含的状态有static final int CANCELLED 1;static final int SIGNAL -1;static final int CONDITION -2;static final int PROPAGATE -3;其中取消状态表示任务的取消&#xff0c;SIGNAL状态表示后续节点需要唤…

android4.0.3去掉底部状态栏statusbar,全屏显示示例代码

要去掉android4.0上的状态栏&#xff0c;全屏显示的代码如下&#xff1a; 1、将usleep和killall这二个文件放到assets文件夹下。这二个文件可在下面的附件中下载到。 2、创建Device.java&#xff08;注&#xff1a;附件里有完整的代码&#xff09;: 001import java.io.Buf…

[译]预留位置队列PRQueue:多线程程序中消息输入队列和消息输出队列保持同序...

译自&#xff1a; http://accu.org/var/uploads/journals/overload101.pdf 在多线程应用程序中&#xff0c;要求消息输入队列和消息输出队列顺序要求保持一致&#xff0c;而忽略多线程并发处理的顺序&#xff0c;这种情况是比较难处理的。在本文中&#xff0c;作者设计了一种新…

java 前端工作内容_java前端、java后端、java全栈工作主要内容是什么?哪个薪资高?...

摘要最近&#xff0c;听了一场关于java全栈工程师职位的简介说明&#xff0c;里面很清楚的说明了一下前端&#xff0c;后端&#xff0c;全栈都是做什么工作的。其实&#xff0c;想做这个行业&#xff0c;就应该了解职能以及技能需求&#xff0c;这样学习才能更高效。我知道一些…

用yate2实现软VoIP语音通话(SIP协议)

用yate2实现软VoIP语音通话(SIP协议) 阳光男孩 发表于 2009-01-08 2009年1月7日&#xff0c;工业与信息化部发放了三张3G牌照&#xff0c;标志着中国进入了通信技术的新时代。3G的重要特性之一是高速数据链路&#xff0c;移动上网速度大大提高。同时&#xff0c;中国移动也大…

避免頁面重復提交3/15

在用戶做資料錄入操作時時常會反映重復記錄出現,經過了解是針對新手或者性子急的用戶在儲存時多次點擊引起 有效處理方法:新增一textbox,對儲存按鈕的onclick增設js代碼:btnsave.Attributes.Add("onclick", "var tb15document.getElementById(Textbox15);var nu…