尝试HTML + JavaScript 编写Windows App

一直以来博文中使用最多的就是C# + XAML。进入Windows App时代,又多了一对 Javascript + HTML组合,这对于Web开发的程序员来说再熟悉不过了。其实小编也做过几年的Web开发,算不上什么大拿,但那时无时不刻的在网络上寻找Javascript、AJAX、JQuery代码,研究各种动态Web效果。每次打开VS总是看到Javascript项目选项,但从来也没创建过。随着Windows 8.1 Preview、Visual Studio 2013 Preview发布,我也来体验一下Javascript开发Windows App是什么感觉。

打开Visual Studio 2013 Preview,新建一个空Javascript项目,在工程目录中有三个default文件,后缀分别为css、js、html,看到这三个文件不用打开就应该知道是干什么的。Default.css控制界面显示效果,比如字体大小、间距、颜色等。Default.js程序逻辑处理,如事件、动态效果等。Default.html这个就是界面展示了,程序的UI效果都通过它来展示。

尝试HTML + JavaScript 编写Windows App

在Default.html的标签里添加一些简单的代码,我们的目的是当点击Go!按钮时,显示username填写的名字。个人喜好用Blend进行界面编辑,用起来比VS方便一些。

<body>
  <div class="apptitle">Hello World!div>
  <div class="appname" id="showname">div>
  <div class="appinput"> 
    <input id="username" type="text" />    <button id="nameBtn" type="button">Go!button>
  div> 
body> 

尝试HTML + JavaScript 编写Windows App

接下来,需要在Default.js里定义按钮点击事件,事件写好后需要在app.onactivated中注册该事件,这样才能使点击按钮生效。

function showNameBtnClick(eventInfo) {
 var userName = document.getElementById("username").value;
 var showString = "This is " + userName + "!";
 document.getElementById("showname").innerText = showString;
}
app.onactivated = function (args) {
 if (args.detail.kind === activation.ActivationKind.launch) {
  if (args.detail.previousExecutionState !== 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.

  }
  args.setPromise(WinJS.UI.processAll());
  var nameBtn = document.getElementById("nameBtn");
  nameBtn.addEventListener("click", showNameBtnClick, false);
 }
};

运行F5启动程序,在Input中输入名字,点击Go!按钮,达到预期效果。

尝试HTML + JavaScript 编写Windows App

尝试HTML + JavaScript 编写Windows App

Original: https://www.cnblogs.com/gnielee/p/build-windows-app-using-html-javascript.html
Author: Gnie
Title: 尝试HTML + JavaScript 编写Windows App

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/536287/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 一张图带你搞懂Javascript原型链关系

    在某天,我听了一个老师的公开课,一张图搞懂了原型链。 老师花两天时间理解、整理的,他讲了两个小时我们当时就听懂了。 今天我把他整理出来,分享给大家。也让我自己巩固加深一下。 就是这…

    JavaScript 2023年5月29日
    079
  • javaScript系列 [52]-模板引擎的实现逻辑

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    JavaScript 2023年5月29日
    067
  • Javascript设计模式(摘译)

    说明: 未完成。。。更新中。。。。 一、javascipt设计模式分类 设计模式分类有很多标准,最流行的三种如下 1) creational — 主要关注对象创建 Cr…

    JavaScript 2023年5月29日
    070
  • [翻译]JavaScript的定时器是如何工作的

    理解JavaScript定时器工作原理对于学习JavaScript非常重要。因为JavaScript是单线程运行的,定时器使用场合少,不是很直观。下面通过三个函数来学习JavaSc…

    JavaScript 2023年5月29日
    090
  • JavaScript 图片滑动展示效果

    更新版本:SlideView 图片滑动(扩展/收缩)展示效果 看到jQuery实例:图片展示效果后,我也想拿来试试,但我不太喜欢用框架,所以自己做了个。其中的难点在于怎么设计各个滑…

    JavaScript 2023年5月29日
    066
  • JavaScript 渐变效果

    程序集合了宽度、高度、透明度、top、left的渐变,可以自定义渐变项目和各个项目的初始值结束值,还能以任意点(定点)为中心渐变。 使用该程序能实现很多常见的动画特效,包括大小变换…

    JavaScript 2023年5月29日
    062
  • 异步是javascript的精髓

    最近做了一个智能家居的APP,目前纯JS代码已经4000多行,不包括任何引入的库。还在不断升级改造中。。。这个项目到处都是异步。大多数都是3~4层调用。给我的感觉就是异步当你习惯了…

    JavaScript 2023年5月29日
    067
  • javascript arguments解释,实现可变长参数。

    在C#中,有可变长参数params[],但是在js中,如何实现这种可变参数呢? arguments是非常好的解决方法,一直不知道javascript有这个东西。 先来看看应用场景,…

    JavaScript 2023年5月29日
    054
  • JavaScript 定义类的最佳写法——完整支持面向对象(封装、继承、多态),兼容所有浏览器,支持用JSDuck生成文档

    作者: zyl910 一、缘由 二、定义类的基本写法 2.1 使用构造函数法来定义类 2.2 编写方法 2.3 增加addlog函数简化测试 2.4 小结 三、基本写法的改进 3….

    JavaScript 2023年5月29日
    0106
  • JavaScript进行UTF-8编码与解码

    JavaScript本身可通过charCodeAt方法得到一个字符的Unicode编码,并通过fromCharCode方法将Unicode编码转换成对应字符。 但charCodeA…

    JavaScript 2023年5月29日
    061
  • 郁闷了半个下午的javascript

    可恶的js! 鄙视自己! 错误提示: 缺少’)’很明显的一个报错信息,但折腾了我半个下午,不过明白了一点. 引用js文件时会检测js文件中的所有funnct…

    JavaScript 2023年5月29日
    078
  • javascript中判断数据类型

    编写javascript代码的时候常常要判断变量,字面量的类型,可以用typeof,instanceof,Array.isArray(),等方法,究竟哪一种最方便,最实用,最省心呢…

    JavaScript 2023年5月29日
    062
  • 通过JavaScript实现在线测试HTTP延迟方法

    我们在选购 VPS 时,有时候需要看一下网络质量如何,但是有的商家会禁止 ping,或者数据中心可能会很多,一 个个测试需要花费较多时间,因此考虑是否能够实现批量测试 HTTP 延…

    JavaScript 2023年5月29日
    050
  • 十个JavaScript中易犯的小错误,你中了几枪?

    序言 在今天,JavaScript已经成为了网页编辑的核心。尤其是过去的几年,互联网见证了在SPA开发、图形处理、交互等方面大量JS库的出现。 如果初次打交道,很多人会觉得js很简…

    JavaScript 2023年5月29日
    095
  • [转]qUIpt:JavaScript Cache Library

    qUIpt 是一个很小很小的 JavaScript Library,所有原始码也才只有 115 行而已(包括批注),我觉得作者 Mario Heiderich 真是太有创意了,他的…

    JavaScript 2023年5月29日
    064
  • 转: JavaScript函数式编程(二)

    上一篇文章里我们提到了纯函数的概念,所谓的纯函数就是,对于相同的输入,永远会得到相同的输出,而且没有任何可观察的副作用,也不依赖外部环境的状态(我偷懒复制过来的)。 但是实际的编程…

    JavaScript 2023年5月29日
    066
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球