WUP Slider控件PointerPressed 和 PointerReleased 事件无法触发

2016年11月9日 没有评论

在最近的某个界面上,我们需要添加一个滑动条Slider,并且根据业务需求获取用户点击和松开鼠标的时机。衣服自己洗发现对于通用控件的PointerPressed 和 PointerReleased 事件是无法触发的。

来自微软方面的解释是这2个事件被Slider的子控件给处理了,导致事实上这2个事件无法被我们拦截处理。

解决方法也很简单:

1,为Slider控件设置ManipulationMode属性,其枚举值为Windows.UI.Xaml.Input.ManipulationModes.TranslateRailsX。

2,为控件添加 ManipulationStarted 和ManipulationCompleted 事件,以代替 PointerPressed 和 PointerReleased 事件。

现在大家就可以解决自己的需求了。

分类: 一句话, 日常 标签: ,

js 获取网页的缩放比例

2016年10月8日 没有评论

随着硬件的发展,屏幕分辨率做的越来越大,相同的环境下,分辨率越高,视觉上看起来文字就越小。

操作系统本身提供了DPI的缩放,但是这个操作并不影响网页里的内容。值得幸庆的是,现代浏览器提供了网页内容的缩放功能。

那么,如果我们想获取浏览器的缩放比例以加载不同的样式和脚本,要怎么做呢?

现代浏览器提供了标准接口,window.devicePixelRatio 表示为设备上物理像素和设备独立像素的比例。

对于IE而言,IE 提供了 window.screen.deviceXDPI 和 window.screen.logicalXDPI 两个属性,deviceXDPI 就是对应的设备上的物理像素,而 logicalXDPI 就是对应了设备独立像素的比例。

下面就是代码了:

function getPageZoom() {
var ratio = 0,
screen = window.screen,
ua = navigator.userAgent.toLowerCase();

if (window.devicePixelRatio !== undefined) {
//现代浏览器直接支持
ratio = window.devicePixelRatio;
}
else if (~ua.indexOf(‘msie’)) {
//兼容低版本的IE浏览器
if (screen.deviceXDPI && screen.logicalXDPI) {
ratio = screen.deviceXDPI / screen.logicalXDPI;
}
}

if (ratio) {
ratio = Math.round(ratio * 100);
}

return ratio;
};

现在就可以根据自己的业务来做不同的处理了。

分类: 一句话, 日常 标签:

BONOBO Git Server 出错的问题

2016年9月17日 没有评论

在很久以前,衣服自己洗使用 BONOBO Git Server 作为Git的源代码管理系统,对于windows而言,很是方便,也不需要手动管理私匙之类的。

上次访问的时候,居然就报错了,日志系统,系统事件里都没有找到有用的信息。后来回忆起,问题应该出现在系统升级到windows server 2012之后。后来无意间在官网上发现了一段文字,原来是目录权限设置问题。

给目录添加IIS_IUSRS角色,并给与权限,问题就解决了。

说起来很简单,但这个解决方法还真不一定想得到。因为从windows server 2003开始,基本上只需要设置network server权限就可以了。衣服自己洗以前是使用windows server 2008也没有什么问题,但是在2012上就需要如此这般设置,官网上也给出了这样的说明。

 

分类: 一句话 标签:

Ubuntu完全卸载Nginx

2016年8月14日 没有评论

今天在删除系统日志的时候,我以为是在日志目录,没有想到是在 /etc/nginx目录,一下子给清空了,那叫一个悲催啊。反复卸载安装了好几次都没有效果,急的满头大汗。

经过一个下午加上晚上的摸索,分享下解决方法,也非常的简单。

sudo apt-get remove nginx
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /etc/nginx
sudo rm -rf /etc/init.d/nginx
sudo rm -rf /var/lib/nginx
sudo rm -rf /var/log/nginx
sudo rm -rf /etc/logrotate.d/nginx
sudo apt-get purge nginx
dpkg –get-selections|grep nginx

然后我这里就列出了nginx-common 和 nginx-core

接着继续运行

sudo apt-get –purge remove nginx-common
sudo apt-get autoremove
sudo apt-get install nginx

之后终于出现了nginx的欢迎页了,剩下的就是各种配置,就不细说了。

分类: 一句话 标签:

香蕉派安装中文语言包

2016年8月14日 没有评论

香蕉派安装使用的是Lubuntu系统,由于官方有做过精简和修改,所以系统界面一直是英文的。

曾经有段时间,特别想改为中文系统,苦于一直找不到方法,最后还是放弃了。

今天无意间突然就发现了,命令为

sudo apt-get install language-selector-gnome

安装完后在系统菜单里,就有一个 Language Support 选项,接下来添加语言。在更新语言的时候,发现有文件无法下载回来的问题。

挂上VPN,顺利下载好,把中文拖动到顶部,重启下系统,再次进入桌面后,会有一个消息提示框询问是否要改名文件夹。仔细一看,原来是把 Desktop,Download 这样的文件夹修改为桌面、下载。但是已经存在的不会迁移过去,衣服自己洗还是选择保持原来的文件夹名称不变算了。

分类: 日常 标签:

Win10 年度更新发布

2016年8月6日 没有评论

在北京时间8月3日的时候,微软开放了win10的年度更新,即14393版本。在上次升级到10586的时候,在线升级很是麻烦了一把,这次就选择了直接通过 iso 镜像更新,简单暴力。

不得不说,升级完成后,等待配置的界面中,汉化的还是蛮不错的。居然有“青出于蓝而胜于蓝,冰水为之而寒于水”这样的诗词,非常贴切年度更新的意义。在以前的内测版本中,文字中还有“<br />”字样,现在已经修复了。

衣服自己洗的办公位置上,以前无线会无故就掉了,现在也好了。不知道大家发现没有,现在开机启动的速度变快了很多。事件查看器事件列表的打开速度也有了提升,这里从win8开始就慢了下来。哈哈,我就知道我的关注点和你们肯定不一样。

在与操作系统同步的准备中,我们在软件的更新历史记录中,使用了RedStone字样,结果被P了,要求使用年度更新来代替,只好又重新编译发布了一版。

讲真,我非常想吐槽SSRB。

分类: 日常 标签:

解决iOS9通知栏消息无法清除的问题

2016年7月20日 没有评论

我的手机安装了腾讯的自选股,有时候就发现消息通知栏的消息无法删除,特别是只剩下一条自选股的推送时。为此抓狂了好久。

但是你说取消消息推送又不是很合适。

今天试了一个方法,果然是管用的。设置->通知->开启按应用分组。

问题就解决了,希望接下来的iOS10系统可以解决这个问题。

分类: 一句话 标签: ,

mysql installation error: dpkg: error processing package mysql-server-5.5 (–configure):

2016年7月5日 没有评论

虽然衣服自己洗不知道为什么,但是运行下面后的命令:

sudo apt-get purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean

再安装mysql就不会有错误提示了。

sudo apt-get dist-upgrade

linux命令未免也太神奇了一点吧。

 

分类: 一句话 标签: ,

服务器系统升级

2016年7月5日 没有评论

在很久前衣服自己洗使用phpmyadmin的时候,页面上总提示mysql的版本太旧了不让使用。但发现mysql也没有一种比较好的升级方式,实在是太悲催了。当时就放在那里了,也一直没有管。

前不久Ubuntu 16.04 发布了,我还寻思着要不要给升级下系统,记得以前升级到14.04的时候,在后台界面上就有按钮可以一键升级。现在反而没有了,通过官方的FAQ引导运行命令貌似总是出错中断。

我这一怒之下,就把服务器格式化了,重新安装了Ubuntu 16.04,干脆彻底。虽然这个过程也是慢慢地摸索的,大不了网站全部推倒重来。

接下来,就按照这个帖子里的内容安装了nginx,php,mysql。phpmyadmin 再也不会提示我版本过旧了,另外php7 我也安装上了,幸好是ubuntu 16.04,不然还得编译安装。臣妾不会,做不到啊。

忘记了mysql密码了,好在下面的代码可以解决:

# /etc/init.d/mysql stop
# mysqld_safe –user=mysql –skip-grant-tables –skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET authentication_string=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>

注意这里新版本的mysql 已经替换 Password 列名为 authentication_string 了。

修改用户的Host列值为 % 以支持远程访问,localhost弱暴了。但是发现还是无法远程访问。

首先查看端口是否打开 netstat -an|grep 3306,打开mysql配置文件vi /etc/mysql/mysql.conf.d/mysqld.cnf,将bind-address = 127.0.0.1注释掉。重启系统。这次再看看端口应该是已经可以了,也应该可以远程连接了。

还原数据库,上传文件夹,终于可以看到熟悉的文章页面了。

至此,服务器系统升级完成。感觉服务器被我浪费了,就跑一个网站。

分类: 日常 标签: , ,

RestSharp 访问https网站出错的问题

2016年6月20日 没有评论

工作中的一个小工具,使用了RestSharp 来向JIRA系统中同步信息。前段时间说是安全升级,更新了jira的ssl证书,结果就导致了同步流程的失败,后来发现原因就在于ssl证书使用了自签名的ssl证书。不知道为什么,我想到了12306的自签名证书。

移除NuGet引用,下载最新版本的源码,重新编译还是一样的问题。

网上也有很多人询问,大部分都可以解决问题的方法如下:

client.RemoteCertificateValidationCallback = new RemoteCertificateValidationCallback((a,b,c,d)=> { return true; });

不过对于我这边没有效果。后来终于在某个小帖子上发现了一句话,一尝试果然解决了问题。

在需要发送请求前,需要先设置协议类型:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

从感觉上来说,这个问题应该是仅仅和服务器设置有关,不一定适合所有的玩家。不对,是同学,最近玩游戏有点过份了。

分类: 一句话 标签: , ,