尝试HTML + JavaScript 编写Windows App

尝试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效果都通过它来展示。



  在Default.html的<Body>标签里添加一些简单的代码,我们的目的是当点击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> 


  接下来,需要在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!按钮,达到预期效果。







本文转自Gnie博客园博客,原文链接:http://www.cnblogs.com/gnielee/p/build-windows-app-using-html-javascript.html,如需转载请自行联系原作者


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107911.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信二维码登录原理是什么_请使用微信扫描二维码登录

    微信二维码登录原理是什么_请使用微信扫描二维码登录网页登陆是微信4.2以后版本提供的一种全新的登陆方式。用户只需要用手机扫一扫微信网页中的二维码,就能马上实现微信网页登陆。这种登陆方式虽然炫酷,但是多少有些违背直觉:网页端是怎么知道是哪个微信账号

    2022年8月4日
    3
  • spring事件监听(eventListener)

    spring事件监听(eventListener)原理:观察者模式#spring的事件监听有三个部分组成,事件(ApplicationEvent)、监听器(ApplicationListener)和事件发布操作。事件#事件类需要继承ApplicationEvent,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12…

    2025年6月11日
    0
  • django1.8_django serializers

    django1.8_django serializers前言由于之前我们一直使用的django-rest-framework-jwt这个库,但是作者在17年的时候就已经不再维护了(有部分bug没有解决),所以我们也就不用了,目前我们使用django-r

    2022年7月29日
    2
  • Python五子棋人机对战

    Python五子棋人机对战了解过python的都知道python最高境界就是人工智能,AI技术,but但凡接触到AI那都感觉很高大上的,新手小白肯定看不懂…别急,我给大家带来了一个伪AI技术,注释也写的很明白,保证小白都能一看就懂!!!!唔,是的,伪AI技术,人机五子棋。(跟电脑下棋)实现一个人就可以跟电脑下棋。具体怎么让电脑产生攻击力的…代码的注释写的很清楚。。。。话不多说,那就上码吧。”””五子棋之人机对战”””importsysimportrandomimportpygamefrom

    2022年6月16日
    24
  • Spring AOP中动态代理的两种实现方式及其过程_ajax的原理和作用

    Spring AOP中动态代理的两种实现方式及其过程_ajax的原理和作用AOP思想:基于代理思想,对原来目标对象,创建代理对象,在不修改原对象代码情况下,通过代理对象,调用增强功能的代码,从而对原有业务方法进行增强!

    2022年8月11日
    2
  • Mac怎么读写NTFS格式?「建议收藏」

    Mac怎么读写NTFS格式?「建议收藏」Mac怎么读写NTFS格式?打开应用程序-实用工具-终端运行如下命令。来查看你的硬盘UUID。diskutilinfo/Volumes/UNTITLED2|grepUUID特别注意:用你的硬盘的名字替换掉UNTITLED2需要用到的就是硬盘的UUID识别号再运行如下命令:echo”UUID=130ED022-B7BB-4535-B84E-23011610A2ABnonentfsrw,auto,nobrowse”|sudotee-a/etc/fst

    2022年6月16日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号