导航

随笔分类 -  WinJS

摘要:var trs = document.getElementsByTagName("tr");trs[0].className="color2"; //设置css样式。 不兼容火狐!兼容火狐,ie的写法为:var cls = trs[0].getAttribute('class');// 添加clas... 阅读全文

posted @ 2014-07-07 18:22 曙光城邦 阅读(699) 评论(0) 推荐(0)

摘要:Javascript标示符是大小写敏感的,首字母必须以 字母、_、$开头。共有6中数据类型:1 Undefined类型 只有一个值undefined2 Null类型 只有一个值null3 Boolean类型 true false4 Number类型 1235 String类型 'abc'6 Object类型,包括对象数组等Javascirpt中可以直接使用Json格式声明的对象和数组。typeof操作符用于检测变量的数据类型。typeof 运算符返回一个用来表示表达式的数据类型的字符串。 因为函数也可以作为参数。所以typeof检测到的类型有6种。比较容易混淆....像func 阅读全文

posted @ 2013-03-29 17:50 曙光城邦 阅读(193) 评论(0) 推荐(0)

摘要:由于应用界面中需要嵌入外部网页,所以使用了iframe控件。但是从vs中运行程序后,当iframe载入的网页含有alert脚本的时候,程序就会进去错误debug模式。。。因为metro不支持alert 查阅文档后,发现iframe有sandbox(沙盒)这个属性,这个属性可以控制嵌入的网页的脚本是否执行等等,但是沙盒模式会导致打开新窗口的那种超链接无法使用。所以也不行。 结论: iframe中的网页环境 和 程序的Js环境是两个不同的环境。即不同的context。iframe中的脚本异常是不会导致程序崩溃的。只会导致iframe中的网页内部错误。所以之前的进入debug模式和程序是否崩溃没关系 阅读全文

posted @ 2013-03-14 11:50 曙光城邦 阅读(428) 评论(0) 推荐(0)

摘要:WinJS开发win8应用是用html和css做的界面,经常需要内容水平或垂直居中。此时就需要网格布局来实现了,也很方便和容易。构造出水平或垂直居中内容,需要两个div。div1填充整个区域,并设置为1行1列的网格布局:.div1{ width:100%; height:100%; display:-ms-grid; -ms-grid-columns:1fr; -ms-grid-rows:1fr;}div2 在网格内并包裹要居中的内容。就可以设置网格居中的css样式了从而达到内容居中:.div2{ -ms-grid-row-align:center; -ms-grid-column-align 阅读全文

posted @ 2013-02-21 11:52 曙光城邦 阅读(309) 评论(0) 推荐(0)

摘要:ListView1. onloadingstatechanged事件,当listview处于加载和已准备好状态时,触发该事件2. loadingState属性,返回listview的加载状态。我打印出的值分为 viewPortLoaded,itemsLoading,complete。当loadingState等于complete时,代表listview加载完毕。因为设置listview的scrollLeft需要等listview加载完毕。所以得用到上两个事件和属性。listView.onloadingstatechanged = function (event) { ... 阅读全文

posted @ 2013-01-14 10:13 曙光城邦 阅读(359) 评论(0) 推荐(0)

摘要:网络请求设置超时,只能对Promise设置超时WinJS.Promise.timeout(1500,WinJS.xhr({ url: "http://www.microsoft.com" })).then();对于返回的Promise一定要即时处理WinJS.xhr({ url: url }).then(function () { console.log("hello"); }, function () { console.log("error"); }).then(function () { console.log("wo 阅读全文

posted @ 2013-01-09 00:43 曙光城邦 阅读(427) 评论(0) 推荐(0)

摘要:偏好设置:用于保存简单少量的数据信息,如程序设置,用户偏好设置等。var localSettings = Windows.Storage.ApplicationData.current.localSettings;localSettings.values 是一个对象,里面可以存储键值对,或者组合类型注意:对象包含必须以原子方式访问的设置。此示例会创建一个名为 exampleCompositeSetting 的复合设置并将它添加到 localSettings 容器中。如// 简单 settinglocalSettings.values["exampleSetting"] = 阅读全文

posted @ 2013-01-09 00:25 曙光城邦 阅读(208) 评论(0) 推荐(0)

摘要:Promise承诺是一个对象。对承诺对象上最常用方法是 then,该方法接受三个参数:一个是在承诺成功完成后调用的函数,一个是在承诺完成但出错后调用的函数,一个是提供进度信息的函数。在 Windows 运行时和 Windows JavaScript 库中,你还可以使用 done 函数,该函数接受相同的参数。区别在于,如果处理时出错,then 函数会在错误状态下返回一个承诺,但不引发异常,而 done 方法会在未提供错误函数的情况下引发异常。总结:正常Promise:调用then的onComplete即then的第一个函数参数。异常Promise:调用then的onError即then的第二个函 阅读全文

posted @ 2013-01-09 00:21 曙光城邦 阅读(700) 评论(0) 推荐(0)

摘要:metro下用WinJS请求网络图片并保存在应用程序的LocalState文件夹下。 var applicationData = Windows.Storage.ApplicationData.current; var localFolder = applicationData.localFolder; var dirctoryImgFolder="images\\";//保存图片的文件夹 function imgPromise(picUrl) { var picName = picUrl.substring(picUrl.lastIndexOf('/'). 阅读全文

posted @ 2013-01-09 00:05 曙光城邦 阅读(543) 评论(0) 推荐(0)

摘要:/**** Base64 encode / decode* http://www.webtoolkit.info/***/ var Base64 = { // private property _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", // public method for encoding encode : function (input) { var output = ""; var chr1, chr2, chr3, enc1, e 阅读全文

posted @ 2013-01-08 23:51 曙光城邦 阅读(208) 评论(0) 推荐(0)

摘要:之前用纯JS编码和解码字符串,因为字符串大小为2M多,所以效率相当慢,得两三秒。之后改为了用windos api编码解码,效率一下提高,基本没有延迟的感觉。metro下的Javascript base64编码:var Base64 = { //编码 encode: function (input) { var output = ""; var buffer = Windows.Security.Cryptography.CryptographicBuffer.convertStringToBinary(input,"utf8");//字符串转缓存 out 阅读全文

posted @ 2013-01-07 18:21 曙光城邦 阅读(305) 评论(0) 推荐(0)

摘要:语义缩放 :自定义语义缩放要实现IZoomableView接口,WinJS中只有ListView实现了该接口。缩放一次由zoomIn->zoomOut,接口方法的调用如下:zoomIn方法的调用----setCurrentItem----beginZoom----getCurrentItem----endZoomzoomOut方法的调用----beginZoom----positionItem 定位到当前的item----endZoom 阅读全文

posted @ 2012-12-31 00:37 曙光城邦 阅读(173) 评论(0) 推荐(0)

摘要:网络请求:WinJS.xhr({url:"your address"}).then(onComplete,onError)异步请求网络,返回一个Promise。封装了javascript的XMLHttpRequest。在then中回调请求成功的函数onComplete和请求失败的函数onError。如: //发送一个网络请求 var reqUrl = "http://www.baidu.com"; WinJS.xhr({ url: reqUrl}).then(onComplete, onError); function onComplete(result 阅读全文

posted @ 2012-12-09 00:57 曙光城邦 阅读(291) 评论(0) 推荐(0)