Pages: 20/291 First page Previous page 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Next page Final page [ View by Articles | List ]
Aug 6
touchstart:触摸开始的时候触发

touchmove:手指在屏幕上滑动的时候触发

touchend:触摸结束的时候触发

而每个触摸事件都包括了三个触摸列表,每个列表里包含了对应的一系列触摸点(用来实现多点触控):

touches:当前位于屏幕上的所有手指的列表。

targetTouches:位于当前DOM元素上手指的列表。

changedTouches:涉及当前事件手指的列表。

每个触摸点由包含了如下触摸信息(常用):

identifier:一个数值,唯一标识触摸会话(touch session)中的当前手指。一般为从0开始的流水号(android4.1,uc)

target:DOM元素,是动作所针对的目标。

pageX/pageX/clientX/clientY/screenX/screenY:一个数值,动作在屏幕上发生的位置(page包含滚动距离,client不包含滚动距离,screen则以屏幕为基准)。 

radiusX/radiusY/rotationAngle:画出大约相当于手指形状的椭圆形,分别为椭圆形的两个半径和旋转角度。初步测试浏览器不支持,好在功能不常用,欢迎大家反馈。
Jul 29

Django 不指定

tommyhu , 07:54 , Python , Comments(0) , Trackbacks(0) , Reads(2144) , Via Original
Django makes it easier to build better Web apps more quickly and with less code.
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source.
Highslide JS
Ridiculously fast.
Django was designed to help developers take applications from concept to completion as quickly as possible.

Reassuringly secure.
Django takes security seriously and helps developers avoid many common security mistakes.

Exceedingly scalable.
Some of the busiest sites on the Web leverage Django’s ability to quickly and flexibly scale.

introduce:https://www.djangoproject.com/
courses:http://mooc.guokr.com/search/?wd=django
Jul 26
Jul 26
我现在使用的浏览器是Chrome版本 32.0.1664.3 m Aura,发现该版本的Chrome每次打开页面滚动页面对于position:fixed的元素会抖动,然而在重新应用position:fixed,抖动就不存在了,或者F5刷新页面后也不会抖动。

目前可能可以解决的方法目前可以解决的方法我也尝试了一些,只剩下几个。

第一种,给fixed的元素添加css的样式,我试过,这个可以解决此闪动的问题。
-webkit-transform: translateZ(0);

第二种,设置css。我是在不复杂的页面做的测试。
html, body {height:100%;overflow:auto;margin: 0;}
注意,引入这个CSS可能会导致原来的页面布局出现问题,慎重。我的同事也说,这个是为了解决IE6系列的fixed抖动问题。

第三种,引入jquery1.7.2的类库。
引入jQuery的方法不知道为什么可以,但是引入了1.11.0的版本就无法解决这个问题。很奇怪。
Jul 26
问题一,分辨率Resolution适配:
不同屏幕宽度,html元素宽高比和字体大小,元素之间的距离自适应,使用rem单位。

问题二,单位英寸像素数PPI适配:
使用rem单位,文字会发虚。段落文字,使用px单位,用media query或js来适配。标题文字可以直接使用rem单位。

问题三,设备像素比例DPR适配:
1物理像素在

显示效果不合需求。要根据devicePixelRatio来修改meta标签的scale

参考:
http://www.html-js.com/article/2402
http://isux.tencent.com/web-app-rem.html
https://github.com/amfe/lib.flexible

demo如下:
Jul 19

clickone 不指定

tommyhu , 08:56 , ASP.NET , Comments(0) , Trackbacks(0) , Reads(1869) , Via Original
ClickOnce 是一种部署技术,使用该技术可创建自行更新的基于 Windows 的应用程序,这些应用程序可以通过最低程度的用户交互来安装和运行

ClickOnce 部署克服的主要问题

ClickOnce 部署克服了部署中所固有的三个主要问题:
更新应用程序的困难

使用 Microsoft Windows Installer 部署,每次应用程序更新,用户都必须重新安装整个应用程序;使用 ClickOnce 部署,则可以自动提供更新。只有更改过的应用程序部分才会被下载,然后从新的并行文件夹重新安装完整的、更新后的应用程序。
对用户的计算机的影响

使用 Windows Installer 部署时,应用程序通常依赖于共享组件,这便有可能发生版本冲突;而使用 ClickOnce 部署时,每个应用程序都是独立的,不会干扰其他应用程序。
安全权限

Windows Installer 部署要求管理员权限并且只允许受限制的用户安装;而 ClickOnce 部署允许非管理用户安装应用程序并仅授予应用程序所需要的那些代码访问安全权限。
过去,这些问题有时会使开发人员决定创建 Web 应用程序而不是基于 Windows 的应用程序,为便于安装而牺牲了 Windows窗体丰富的用户界面和响应性。对于使用 ClickOnce 部署的应用程序,您可以集这两种技术的优势于一身。

ClickOnce安全的工作方式

核心 ClickOnce 安全基于证书、代码访问安全性策略和 ClickOnce 信任提示。
证书

Authenticode 证书用于验证应用程序发布者的真实性。
通过将 Authenticode 用于应用程序部署,ClickOnce 可帮助防止有害程序将自己伪装成来自已确定的可信任源的合法程序。 (可选)证书也可以用于为应用程序和部署清单签名,以证明文件未被篡改。 有关更多信息,请参见ClickOnce 和 Authenticode。 证书还可以用于为客户端计算机配置一个受信任的发布者的列表。 如果某个应用程序来自受信任的发布者,则可以在无需任何用户交互的情况下安装该应用程序。 有关更多信息,请参见受信任的应用程序部署概述。
代码访问安全性

代码访问安全性可帮助限制代码对受保护资源的访问。
大多数情况下,您可以选择 Internet 区域和本地 Intranet 区域来限制权限。 使用“项目设计器”中的“安全性”页可以请求适合于应用程序的区域。 您也可以使用受限权限调试应用程序来模拟最终用户的体验。 有关更多信息,请参见ClickOnce 应用程序的代码访问安全性。
ClickOnce 信任提示

如果应用程序请求的权限超出区域的允许范围,则会提示最终用户做出信任决定。
最终用户可以决定是否信任 ClickOnce 应用程序(如 Windows Forms 应用程序、Windows Presentation Foundation 应用程序、控制台应用程序、XAML 浏览器应用程序和 Office 解决方案)以允许其运行。 有关更多信息,请参见如何:配置 ClickOnce 信任提示行为。
Jul 13
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。



一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。
1.选定源码目录
选定目录 /usr/local/

cd /usr/local/

2.安装PCRE库
cd /usr/local/
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz
tar -zxvf pcre-8.21.tar.gz
cd pcre-8.21
./configure
make
make install

3.安装zlib库
cd /usr/local/
wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8
./configure
make
make install

4.安装ssl

cd /usr/local/
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -zxvf openssl-1.0.1c.tar.gz
./config
make
make install

5.安装nginx

Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:

cd /usr/local/
wget http://nginx.org/download/nginx-1.2.8.tar.gz
tar -zxvf nginx-1.2.8.tar.gz
cd nginx-1.2.8  
./configure --prefix=/usr/local/nginx
make
make install

--with-pcre=/usr/src/pcre-8.21 指的是pcre-8.21 的源码路径。
--with-zlib=/usr/src/zlib-1.2.7 指的是zlib-1.2.7 的源码路径。

6.启动
确保系统的 80 端口没被其他程序占用,
/usr/local/nginx/sbin/nginx

检查是否启动成功:
netstat -ano|grep 80 有结果输入说明启动成功


打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。

7.重启
/usr/local/nginx/sbin/nginx –s reload

8.修改配置文件
cd /usr/local/nginx/conf
vi nginx.conf

9.常用配置
#nginx运行用户和组
user    www www;  
#启动进程,通常设置成和cpu的数量相等
worker_processes  4;

#全局错误日志及PID文件
pid /var/run/nginx.pid;
error_log  /var/log/nginx/error.log;

events {
        #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
use epoll;
                   #单个后台worker process进程的最大并发链接数
        worker_connections  10240;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
        include       mime.types;

        default_type  application/octet-stream;

         error_page 400 403 500 502 503 504  /50x.html;

        index index.html index.shtml

        autoindex off;

         fastcgi_intercept_errors on;

        sendfile        on;

        # These are good default values.
        tcp_nopush      on;
        tcp_nodelay     off;

        # output compression saves bandwidth
        gzip  off;
         #gzip_static on;
        #gzip_min_length  1k;
        gzip_http_version 1.0;
        gzip_comp_level 2;
        gzip_buffers  4 16k;
        gzip_proxied any;
        gzip_disable "MSIE [1-6]\.";
        gzip_types  text/plain text/html text/css application/x-javascript application/xml application/xml+rss text/javascript;
        #gzip_vary on;

        server_name_in_redirect off;

#设定负载均衡的服务器列表
        upstream portals {
                  server 172.16.68.134:8082 max_fails=2 fail_timeout=30s;
                  server 172.16.68.135:8082 max_fails=2 fail_timeout=30s;
                            server 172.16.68.136:8082 max_fails=2 fail_timeout=30s;
                  server 172.16.68.137:8082 max_fails=2 fail_timeout=30s;
        }

        #upstream overflow {
         #       server 10.248.6.34:8090 max_fails=2 fail_timeout=30s;      
         #       server 10.248.6.45:8080 max_fails=2 fail_timeout=30s;      
        #}

        server {
                                     #侦听8080端口
                listen       8080;
                server_name  127.0.0.1;

                   #403、404页面重定向地址
                   error_page  403 = http://www.e100.cn/ebiz/other/217/403.html;
                   error_page  404 = http://www.e100.cn/ebiz/other/218/404.html;
                   proxy_connect_timeout      90;
                   proxy_send_timeout         180;
                   proxy_read_timeout         180;

                   proxy_buffer_size 64k;
                   proxy_buffers 4 128k;
                   proxy_busy_buffers_size 128k;


                   client_header_buffer_size 16k;
                   large_client_header_buffers 4 64k;

                #proxy_send_timeout         3m;
                #proxy_read_timeout         3m;
                #proxy_buffer_size          4k;
                #proxy_buffers              4 32k;

                proxy_set_header Host $http_host;
                proxy_max_temp_file_size 0;
                #proxy_hide_header Set-Cookie;
                  
         #       if ($host != 'www.e100.cn' ) {
         #                rewrite ^/(.*)$ http://www.e100.cn/$1 permanent;
         #       }


               location / {
                       deny all;
               }

                   location ~ ^/resource/res/img/blue/space.gif {
                    proxy_pass http://tecopera;
               }

               location = / {
                   rewrite ^(.*)$  /ebiz/event/517.html last;
               }



                   location = /ebiz/event/517.html {
                    add_header Vary Accept-Encoding;
                    root /data/web/html;
                    expires 10m;
               }




               location = /check.html {
                    root /usr/local/nginx/html/;
                    access_log off;
               }

               location = /50x.html {
                    root /usr/local/nginx/html/;
                    expires 1m;
                    access_log off;
               }


              location = /index.html {
                       add_header Vary Accept-Encoding;
#定义服务器的默认网站根目录位置
                    root /data/web/html/ebiz;
                    expires 10m;
               }
#定义反向代理访问名称
                   location ~ ^/ecps-portal/* {
                   # expires 10m;
#重定向集群名称
                    proxy_pass http://portals;
                    #proxy_pass http://172.16.68.134:8082;
               }

                   location ~ ^/fetionLogin/* {
                   # expires 10m;
                    proxy_pass http://portals;
                    #proxy_pass http://172.16.68.134:8082;
                }

                   #location  ~ ^/business/* {                                                                      
                #   # expires 10m;                                                                                
                #    proxy_pass http://172.16.68.132:8088;                                                                  
                #    #proxy_pass http://172.16.68.134:8082;                                                      
                #}

                   location ~ ^/rsmanager/* {
                    expires 10m;
                    root /data/web/;
                    #proxy_pass http://rsm;
               }
#定义nginx处理的页面后缀
                   location ~* (.*)\.(jpg|gif|htm|html|png|js|css)$  {
                            root /data/web/html/;
#页面缓存时间为10分钟
                         expires 10m;
                   }

#设定查看Nginx状态的地址    
               location ~* ^/NginxStatus/ {
                    stub_status on;
                    access_log off;
                    allow 10.1.252.126;
                    allow 10.248.6.49;
                    allow 127.0.0.1;
                    deny all;
               }
         #       error_page   405 =200 @405;
         #       location @405
         #       {
         #                proxy_pass http://10.248.6.45:8080;
         #       }  

               access_log  /data/logs/nginx/access.log combined;
               error_log   /data/logs/nginx/error.log;
        }
         server {
                listen       8082;

                server_name  _;
               location = /check.html {
                    root /usr/local/nginx/html/;
                    access_log off;
               }
                  
        }
         server {
                   listen       8088;
                   server_name  _;
                   location ~ ^/* {
                   root /data/web/b2bhtml/;
                   access_log off;
         }                
         }
        server {
                listen       9082;
                server_name  _;

        #        location ~ ^/resource/* {
        #            expires 10m;
         #           root /data/web/html/;
         #       }

                location  / {
                     root /data/web/html/sysMaintain/;
                       if (!-f $request_filename) {
                            rewrite ^/(.*)$ /sysMaintain.html last;
                           }
                }
        }

}
Pages: 20/291 First page Previous page 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Next page Final page [ View by Articles | List ]