调整.NET控件WebBrowser的默认浏览器内核版本
作者:freethy 发布于:2016-9-28 22:16 Wednesday
浏览器内核检测:http://www.ip33.com/browser.html
在网上找了一些资料后,我发现可以通过下面这个办法来解决:
1、在开始菜单内输入“regedit.exe”,进入注册表编辑器
2、找到注册表项:
32位:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
64位:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
3、在右侧空白区域内单击鼠标右键,点击【新建】→【DWORD(32-位)值】
4、新建的项取名为<你的程序exe文件名称>,编辑值时,选择基数“十进制”,填写数值数据,这里填写 11001(IE11)
5、这个时候再进入Debug目录下生成好的exe程序,可以看到登录的内核版本变成IE11了!
需要注意的是,在VS内以调试的方法进入程序,打开的程序实际上是<程序exe.vshost.exe>,并不能看到效果。
Delphi使用大图标编译程序
作者:freethy 发布于:2016-8-30 21:17 Tuesday
在Windows Vista、 Windows7以上Windows系统中可以支持大图标显示了,但是Delphi编译出来的程序却只能显示32x32的图标,这使Delphi编译的程序看起来很不专业。下面就把Delphi编译大图标程序的方法分享一下。
要想使用大图标编译,首先要准备一个256x256的图标图片。
使用图标编辑软件,如IconWorkshop打开你的 ico文件,新建一个256x256的真彩色图标,将你的图片文件导入到该图标中。保存图标后,将图标文件拷贝到你的工程目录下,假设为mainico.ico,然后在你的工程下面建一个mainico.rc的文件,在里面输入文本:
MAINICON ICON mainico.ico
打开命令行窗口,将目录切换到你的工程目录下,输入命令rc mainico.rc,按回车执行,这时在你的工程目录下会生成一个mainico.RES文件。
在Delphi中打开你的工程,选择菜单Project->View Source,在{$R *.res}下面加上一行{$R Mainico.RES},再编译程序就可以了。
Windows系统会对图标缓存,所以刚编译完可能看不到效果,可以将编译后的程序拷贝到其他地方,看是否变成大图标了。
rc命令为调用的Microsoft Windows Resource Compiler
sql将文件大小转为字符串表示
作者:freethy 发布于:2016-8-27 11:41 Saturday
解析目前NFC具有的三种工作模式
作者:freethy 发布于:2016-7-22 14:10 Friday
NFC技术自出现以来,凭借自身传输带宽高、安全性高、能耗低等优势而被应用到各行业中,那么所谓的NFC有什么工作模式呢?
近场通信(Near Field Communication,NFC)即近距离无线通信,是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输(在10cm内)交换数据。NFC技术是RFID技术的一个子类别,RFID包括了长距离和短距离,NFC主要是短距离的通信,并向下兼容RFID。NFC技术与RFID的区别体现在通信距离和功能性上。
因此,目前NFC具有三种工作模式:
卡模式(Card emulation):这个模式其实就是相当于一张采用RFID技术的IC卡,可以替代大量的IC卡(包括信用卡)使用的场合,如商场刷卡、公交卡、门禁管制,车票,门票等等。此种方式下,有一个极大的优点,那就是卡片通过非接触读卡器的 RF 域来供电,即使寄主设备(如手机)没电也可以工作。
点对点模式(P2P mode):这个模式和红外线差不多,可用于数据交换,只是传输距离较短,传输创建速度较快,传输速度也快些,功耗低(蓝牙也类似)。将两个具备NFC功能的设备无线链接,能实现数据点对点传输,如下载音乐、交换图片或者同步设备地址薄。因此通过NFC,多个设备如数位相机、PDA、计算机和手机之间都可以交换资料或者服务。
读卡器模式(Reader/writer mode):作为非接触读卡器使用,比如从海报或者展览信息电子标签上读取相关信息。亦可实现NFC手机之间的数据交换,对于企业环境的中的文件共享,或者对于多玩家的游戏应用,都将带来诸多的便利。
原文出自[安防知识网] 转载请保留原文链接:http://www.asmag.com.cn/tech/201306/63068.html
http协议中:GET/POST/PUT/DELETE/INPUT/TRACE/OPTIONS/HEAD方法
作者:freethy 发布于:2016-6-22 15:43 Wednesday
HTTP/1.1协议中共定义了八种方法(有时也叫“动作”)来表明Request-URI指定的资源的不同操作方式: OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。 HEAD 向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。 GET 向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中。 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 PUT 向指定资源位置上传其最新内容。 DELETE 请求服务器删除Request-URI所标识的资源。 TRACE 回显服务器收到的请求,主要用于测试或诊断。 CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
url Rewrite 重写时带“?”(问号)参数的传递
作者:freethy 发布于:2016-6-14 13:01 Tuesday
一,Rewrite重写时带“?”(问号)参数的传递
很多人都会遇到需要将网站以前的旧URL转换到新版本的新URL来,但是有一些带有参数的地址由于涉及到参数名的变更,需要通过伪静态的方式实现跳转。但Apache和Ngnix的方法是不支持带参数的URL地址重写的(即:RewriteRule不会去匹配“?”后面的字符串的,需要用RewriteCond来匹配)。
例如:把 /abc?id=123 重定向到 /def.php?id=123 的写法:
方式一:
RewriteEngine on
RewriteBase /
RewriteCond %{QUERY_STRING} ^id=(.+)$
RewriteRule ^/abc$ /def.php?sid=%1 [L]
#注释1:RewriteCond %{QUERY_STRING} ^id=(.+)$ ,得到url中的变量,并通过“%N”的方式获取(参数名可以重写,而且参数值可以匹配)
#注释2:RewriteCond 里面需要提取的值可以用 %N 进行反向引用值,而RewriteRule里面还是需要用$N的来反向引用值
方式二:
RewriteEngine on
RewriteBase /
RewriteRule ^/abc$ /def.php [L,QSA]
#注释1:[QSA]表示保留重写url时“?”后面的参数(但参数名不可以重写,只会原样的保留)
官方文档解释(查询字符串):
Pattern不会按照查询字符串进行匹配。为了达到这个目的,你必须使用一个带有% {QUERY_STRING}变量的RewriteCond指令。当然,你也可以在替换字符串中创建包含查询字符串的URL:在替换字符串串中使用问号,以标明其后的部分应该被重新注入到QUERY_STRING中。而要删除一个已有的请求串,则可以用问号来终结替换字符串。为了联合新旧查询字符串,请使用[QSA]标志。
二、apache rewrite 终结篇:apache %{QUERY_STRING}
1.$n取得第n个参数值
RewriteRule ^sss/(.*)/(.*)$ zdz/index.php?arg1=$1&arg2=$2
2.query_string(%{QUERY_STRING}后为匹配的正则)
URL参数(Query String)是URL里面“?”后面的部分,它通常用于传输参数给CGI脚本或者其它动态页面。在Apache中,该值存储在环境变量QUERY_STRING中(在PHP中,可以通过$_SERVER['QUERY_STRING']访问到)。
在Apache中,大多对URL进行操作的指令,如、Redirect、Alias和RewriteRule,都不能直 接访问该数据;不过,mod_rewrite模块却可以对URL参数进行添加、删除和修改。其中的关键就是使用RewriteCond来匹配% {QUERY_STRING}变量,如果需要的话,还可以使用[QSA]标志来附加URL参数。
eg.1
如果 http://piaoyun.cc/rewrite/jeecn.zdz?par=helloforbworld 中的 query_string 包含字符串forb ,则禁止访问
RewriteCond %{QUERY_STRING} forb
RewriteRule ^(.*)\.(.*)$ preg.php?%{QUERY_STRING} [F]
eg.2
通过[QSA]标志保留原有URL参数的同时,在后面增加新的URL参数:param=value
RewriteRule ^/page /page?param=value [QSA]
eg3.
当URL参数包含字符串parm时
将URL:http://jeecn.com/ask?param=value 重写为: http://jeecn.com/answer?param=value
RewriteCond %{QUERY_STRING} parm
RewriteRule ^/ask /answer
eg4.%n反向引用
1)当访问 /path 时,将字符串 parm修改为 showparm
RewriteCond %{QUERY_STRING} ^(.*)parm(.*)$
RewriteRule /path /path?%1showparm%2
上面的%1和%2是反向引用,来自之前的RewriteCond中正则表达式的匹配结果
2)将http://jeecn.com/path?key=value 转换为: http://piaoyun.cc/path/key/value
RewriteCond %{QUERY_STRING} ^(\w+)=(\w+)$
RewriteRule ^/path /path/%1/%2?
- 本文固定链接: http://piaoyun.cc/559.html
- 转载请注明: 飘云 于 飘云 发表
无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问。)” (Microsoft SQL Server,错误: 5120)的解决方法
作者:freethy 发布于:2016-6-13 9:30 Monday

找到xxx.mdf和xxx_log.ldf文件,
更改该组权限为完全权限,再次附加成功。
Microsoft Visual Studio 2012 自定义插件安装
作者:freethy 发布于:2016-6-7 12:56 Tuesday
将.Addin文件配置好到放到目录:C:\Users\your username\Documents\Visual Studio 2012\Addins\
重启vs2012即可
IIS启用GZip压缩的详细教程(图文)
作者:freethy 发布于:2016-5-13 13:38 Friday
IIS启用GZip压缩,是提高网站速度和减轻服务器负载的一个优化手段和方法,经测试,网站启用GZip压缩后,速度快了3倍!而配置起来也相当的简单,因此被广大网站管理员使用。本文将详细介绍如何在IIS启用GZip压缩,同时解决可能遇到的一些问题。
IIS启用GZip压缩的步骤:
1、打开IIS,右键点击“网站”,选择“属性”
2、在打开的窗口里,切换到“服务”标签,然后选中“HTTP压缩”下面的两个选项,临时目录可以自己新建一个目录(这个目录必须可写),也可以不用改它,使用系统默认的路径:%windir%\IIS Temporary Compressed Files。然后点击“确定”按钮。
3、添加一个Web服务扩展
1)、右键点击“Web 服务器扩展”,选择“添加一个新的Web服务扩展”
2)、在弹出窗口里写上“扩展名”(名字随便无所谓),点击“添加”按钮,选择文件:c:\windows\system32\inetsrv\gzip.dll,然后把勾选“设置扩展状态为运行”,最后点击“确定”按钮。
4、重启IIS。(简单的操作方法:开始->运行->输入命令:iisreset /restart,然后回车即可)
好了,经过如上设置后,此IIS Web服务器就启用GZip压缩功能了,此功能是对此IIS服务器下的所有网站都有效,并不是只针对某个网站设置的。
注意问题:
经过如上设置,GZip压缩其实只对静态内容有效,而对于动态内容,aspx文件却不在压缩范围内。因为默认的可压缩文件并没有这个扩展名。而管理界面中你又找不到可以增加扩展名的地方,这时候只能去修改它的配置文件了。在c:\windows\system32\inetsrv\下面有个MetaBase.xml文件,可以用记事本打开,找到IIsCompressionScheme,有三个相同名字的段,分别是deflate,gzip,Parameters,第三段不用管它,前两段有基本相同的参数,在这两段的参数HcScriptFileExtensions下面都加上一行aspx,如果你有其它的动态程序要压缩,也加在这里。HcDynamicCompressionLevel改成9,(0-10,9是性价比最高的一个)。
对于aspx等动态网页,启用网页缓存,是广大网站管理员采用的有效实用的优化方法,操作起来也相当简单,可参考此文操作:服务器性能优化策略之启用网页缓存。
可能遇到的问题:
MetaBase.xml修改后无法保存?
在修改MetaBase.xml后,为什么无法保存?这是因为该文件正在被IIS使用所致,这时可以通过如下两个方法来解决这个问题。
第一种方法:
停止IIS,再编辑metabase.xml文件。
停止IIS的简单操作方法:开始->运行->输入命令:iisreset /stop,然后回车即可。
第二种方法:
启用IIS中“允许直接编辑配置数据库”的功能。
1)、打开iis管理器,右击本地计算机-选择属性
2)、勾选“允许直接编辑配置数据库”,点击“确定”按钮。
CSS 的优先级机制[总结]
作者:freethy 发布于:2016-5-13 10:06 Friday
样式的优先级
多重样式(Multiple Styles):如果外部样式、内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况。
一般情况下,优先级如下:
(外部样式)External style sheet <(内部样式)Internal style sheet <(内联样式)Inline style
有个例外的情况,就是如果外部样式放在内部样式的后面,则外部样式将覆盖内部样式。
示例如下:
<head> |
<style type="text/css"> |
/* 内部样式 */ |
h3{color:green;} |
</style> |
<!-- 外部样式 style.css --> |
<link rel="stylesheet" type="text/css" href="style.css"/> |
<!-- 设置:h3{color:blue;} --> |
</head> |
<body> |
<h3>测试!</h3> |
</body> |
选择器的优先权
解释:
1. 内联样式表的权值最高 1000;
2. ID 选择器的权值为 100
3. Class 类选择器的权值为 10
4. HTML 标签选择器的权值为 1
利用选择器的权值进行计算比较,示例如下:
<html> |
<head> |
<style type="text/css"> |
#redP p { |
/* 权值 = 100+1=101 */ |
color:#F00; /* 红色 */ |
} |
#redP .red em { |
/* 权值 = 100+10+1=111 */ |
color:#00F; /* 蓝色 */ |
} |
#redP p span em { |
/* 权值 = 100+1+1+1=103 */ |
color:#FF0;/*黄色*/ |
} |
</style> |
</head> |
<body> |
<div id="redP"> |
<p class="red">red |
<span><em>em red</em></span> |
</p> |
<p>red</p> |
</div> |
</body> |
</html> |
结果:<em> 标签内的数据显示为蓝色。
CSS 优先级法则:
A 选择器都有一个权值,权值越大越优先;
B 当权值相等时,后出现的样式表设置要优于先出现的样式表设置;
C 创作者的规则高于浏览者:即网页编写者设置的CSS 样式的优先权高于浏览器所设置的样式;
D 继承的CSS 样式不如后来指定的CSS 样式;
E 在同一组属性设置中标有“!important”规则的优先级最大;示例如下:
<html> |
<head> |
<style type="text/css"> |
#redP p{ |
/*两个color属性在同一组*/ |
color:#00f !important; /* 优先级最大 */ |
color:#f00; |
} |
</style> |
</head> |
<body> |
<div id="redP"> |
<p>color</p> |
<p>color</p> |
</div> |
</body> </html> |
结果:在Firefox 下显示为蓝色;在IE 6 下显示为红色;
使用脚本添加样式
当在连接外部样式后,再在其后面使用JavaScript 脚本插入内部样式时(即内部样式使用脚本创建),IE 浏览器就表现出它的另类了。代码如下:
<html> |
<head> |
<title> demo </title> |
<meta name="Author" content="xugang" /> |
<!-- 添加外部CSS 样式 --> |
<link rel="stylesheet" href="styles.css" type="text/css" /> |
<!-- 在外部的styles.css文件中,代码如下: |
h3 {color:blue;} |
--> |
<!-- 使用javascript 创建内部CSS 样式 --> |
<script type="text/javascript"> |
<!-- |
(function(){ |
var agent = window.navigator.userAgent.toLowerCase(); |
var is_op = (agent.indexOf("opera") != -1); |
var is_ie = (agent.indexOf("msie") != -1) && document.all && !is_op; |
var is_ch = (agent.indexOf("chrome") != -1); |
var cssStr="h3 {color:green;}"; |
var s=document.createElement("style"); |
var head=document.getElementsByTagName("head").item(0); |
var link=document.getElementsByTagName("link"); |
link=link.item(0); |
if(is_ie) |
{ |
if(link) |
head.insertBefore(s,link); |
else |
head.appendChild(s); |
document.styleSheets.item(document.styleSheets.length-1).cssText=cssStr; |
} |
else if(is_ch) |
{ |
var t=document.createTextNode(); |
t.nodeValue=cssStr; |
s.appendChild(t); |
head.insertBefore(s,link); |
} |
else |
{ |
s.innerHTML=cssStr; |
head.insertBefore(s,link); |
} |
})(); |
//--> |
</script> |
</head> |
<body> |
<h3>在IE中我是绿色,非IE浏览器下我是蓝色!</h3> |
</body> |
</html> |
结果:在Firefox / Chrome / Safari / Opera 中,文字都是蓝色的。而在IE 浏览器中,文字却是绿色的。
附加
在IE 中添加样式内容的JavaScript 代码:
var s=document.createElement("style"); |
var head=document.getElementsByTagName("head").item(0); |
var link=document.getElementsByTagName("link").item(0); |
head.insertBefore(s,link); |
/* 注意:在IE 中, |
虽然代码是将<style>插入在<link>之前, |
但实际内存中,<style>却在<link>之后。 |
这也是“IE中奇怪的应用CSS的BUG”之所在! |
*/ |
var oStyleSheet = document.styleSheets[0]; |
//这实际是在<link>的外部样式中追加 |
oStyleSheet.addRule("h3","color:green;"); |
alert(oStyleSheet.rules[0].style.cssText); |
alert(document.styleSheets[0].rules[0].style.cssText); |
//方式2 |
var cssStr="h3 {color:green;}"; |
document.styleSheets.item(document.styleSheets.length-1).cssText=cssStr; |
IE 浏览器下载或者渲染的顺序可能如下:
● IE 下载的顺序是从上到下;
● JavaScript 函数的执行会阻塞IE 的下载;
● IE 渲染的顺序也是从上到下;
● IE 的下载和渲染是同时进行的;
● 在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(但并不是说所有相关联的元素都已经下载完。)
● 在下载过程中,如果遇到某一标签是嵌入文件,并且文件是具有语义解释性的(例如:JS脚本,CSS样式),那么此时IE的下载过程会启用单独连接进行下载。并且在下载后进行解析,如果JS、CSS中如有重定义,后面定义的函数将覆盖前面定义的函数。
● 解析过程中,停止页面所有往下元素的下载。样式表文件比较特殊,在其下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将对此前所有元素(含以前已经渲染的)重新进行样式渲染。并以此方式一直渲染下去,直到整个页面渲染完成。
● Firefox 处理下载和渲染的顺序大体相同,只是在细微之处有些差别,例如:iframe 的渲染。
推荐阅读:IE 中奇怪的应用CSS 的BUG
作者: XuGang 网名:钢钢 |
出处: http://xugang.cnblogs.com |
声明: 本文版权归作者和博客园共有。转载时必须保留此段声明,且在文章页面明显位置给出原文连接地址! |