Profiel van WuScottWorldFoto'sWeblogLijstenMeer ![]() | Help |
|
|
06 december [原创]创建指向本地文件的链接昨天遇到的一个问题: 如何在web页中创建一个指向本地文件的链接
虽然这样的需求不会很常见,但其解决方案也许值得参考。
比如有一个文件C:\a.txt 需要创建一个超链接指向他,通常在IE中输入file:///C:/a.txt 既可打开此文件。但直接将这样的URL做成链接却不能达到期望的效果:虽然IE左下角能正确显示URL,甚至能右键另存为,但就是无法单击打开。与其说这是一个Bug,不如说是为了安全性上的考虑(比如指向某个可执行文件)。
尝试过多种格式的URL,但实际上均被IE解析成相同的形式,并且同样无效。
转换思路,使用javascript,但十有八九会被IE屏蔽。
再次转换思路,想到利用默认共享。 使用 \\机器名\\C$\a.txt 没有问题,但毕竟不是普遍的解决方案。再把机器名换成127.0.0.1,同样有效,很好很强大。
结论:使用\\127.0.0.1\C$\a.txt 这样的URL即可指向本地的C:\a.txt
在2003+IE7下测试通过,然而到了Vista+IE7下却报找不到文件。
研究了很久终于发现是因为Vista下IE7的保护模式造成的,以至于在大多数情况下IE的默认权限不足以打开本地文件。
解决方案很有意思:将127.0.0.1加入到IE的信任站点列表即可(默认情况下,IE对信任站点不使用保护模式)
(本方案适用于IIS,apache之类似乎有其他的解决办法)
29 april ASP.net 2.0 下的webservice异步调用方案//Client Code:
//the Unique Identity of UserState
string state1 = "A"; string state2 = "B"; string state3 = "C"; string state4 = "D"; public Demo()//Init { InitializeComponent(); demoService = new ASynchronousDemo.DemoWS.DemoService(); demoService.ProblemOneCompleted += new ASynchronousDemo.DemoWS.ProblemOneCompletedEventHandler(demoService_ProblemOneCompleted); demoService.ProblemTwoCompleted += new ASynchronousDemo.DemoWS.ProblemTwoCompletedEventHandler(demoService_ProblemTwoCompleted); demoService.ProblemThreeCompleted += new ASynchronousDemo.DemoWS.ProblemThreeCompletedEventHandler(demoService_ProblemThreeCompleted); demoService.ProblemFourCompleted += new ASynchronousDemo.DemoWS.ProblemFourCompletedEventHandler(demoService_ProblemFourCompleted); } private void buttonTestAs_Click(object sender, EventArgs e)
{ //Work 1 start demoService.ProblemOneAsync(state1); //Work 2 start demoService.ProblemTwoAsync(state2); //Work 3 start demoService.ProblemThreeAsync(state3); //Work 4 start demoService.ProblemFourAsync(state4); } //call back functions:
void demoService_ProblemFourCompleted(object sender, ASynchronousDemo.DemoWS.ProblemFourCompletedEventArgs e)
{ richTextBoxResult.Text += e.Result + "\n";
} void demoService_ProblemThreeCompleted(object sender, ASynchronousDemo.DemoWS.ProblemThreeCompletedEventArgs e)
{ richTextBoxResult.Text += e.Result + "\n"; } void demoService_ProblemTwoCompleted(object sender, ASynchronousDemo.DemoWS.ProblemTwoCompletedEventArgs e)
{ richTextBoxResult.Text += e.Result + "\n"; } void demoService_ProblemOneCompleted(object sender, ASynchronousDemo.DemoWS.ProblemOneCompletedEventArgs e) { richTextBoxResult.Text += e.Result + "\n"; } 27 februari Scott的假期&comicII成长日志2月3日 2月4日 2月5日 2月6日 2月7日 2月8日 2月9日-2月11日 07 februari cakephp MVC架构执行流程,与asp.net2.0的对比cakephp MVC架构: asp.net 2.0 事件驱动模型: 31 januari vista真的安全吗?突然想到偶的QQ尾巴会不会在vista下遇到兼容性问题,毕竟又是DLL注入又是钩子什么的~
copy过去一运行,弹出个警告框:“应用程序中发生了无法处理的异常。如果单击“继续”,应用程序将忽略此错误并尝试继续。如果单击“退出”,应用程序将立即关闭。(尝试读取或写入受保护的内存,这通常指示其它内存已损坏)”
没细看,以为是被vista拦截了,很高兴地大赞其安全性的长进。
点了继续,钩子功能完好,也没怎么在意。
用了一会儿突然发现停止按钮没有出现,又重新运行了一遍,看警告框的详细信息,发现问题出在GetWindowText这个api上(位于Start按钮的OnClick事件处理函数中,而停止按钮的显示也为于该函数中)。也就是说,vista阻止了GetWindowText这中不痛不痒的东西,反而潜在危险性较大的DLL注入倒是不闻不问了。。。
自从用了vista,n多操作都要管理员验证一下,难道都是防君子不防小人么-_-,莫非90%的病毒都能运行的传言是真的? 20 januari 关于QQ聊天次序问题的临时解决方案(诸如 1 =〉3 =〉2的问题又发生了)
Windy:额。。。次序啊
Scott:次序-_-
Windy:我这边要晕了。。发啥都是没发送成功
Scott:哈哈,很简单~
Scott:00 我们都是写代码的,为什么会没想到呢~
Scott:01 这样有漏掉也可以发现
Scott:02 :D
Scott:03 哈哈哈哈,太有意思了~
Windy:0卡了顺便汗一下
Windy:1继续无语;。。。还是发送没成功
…………………………我是省略号…………………………
Scott:29 ^_^
Windy:19。慢点,断了4条,刚才偶掉了
Windy:20。你24到27发啥了
Scott:
(此处省略24-27)
Scott:31 真好玩,这样还可以随时错误恢复~
09 december 典型流氓软件识别与杀灭教程ie7中文正式版终于发布了,拿来安装一下。windowsupdate太慢,google出某个小站有下载点。 很顺利地装好了,开始到处玩新功能。突然发现ie首页变成了www.ggddmm.com (-_- 某些无良小站阿) 随即把ie首页改回来,玩了一会儿,发现www.ggddmm.com 又跑出来了……厄。。。显然是ie7安装源被捆绑上流氓软件了(-_-不仅无良,下手还真够狠的) 懒惯了,拿出360安全卫士,杀了一下……啥?没发现流氓软件?看来还是刚出道的,没上黑名单。BHO列表里一看,一个叫IEInfo的差点被我漏过去,不管怎么说,所有不可疑的东东里最可疑的就是它了。(大家注意,XXInfo这种名字都是很可疑的)对应文件是System32下面的win32info.dll。一看版本信息,公司和内部名称一栏为空,流氓软件中的次品。 清了该BHO,恢复了ie首页,仍不解恨,尝试删除win32info.dll,正在使用中,删除失败。(-_-哦,ie还开着)本来想用hijackthis在下次重启的时候删除的,但仍觉得直接灭杀之更为爽快。于是拿出传说中的icesword,查看进程中ie和explorer的模块信息,果然win32info.dll就窝在那里,卸载之,删之,世界清静了~ 10 augustus java大作业今天在讨论java大作业做什么东西
一开始就是想做一个ftp的聚合器,和我那个spacetour差不多 然后觉得应该加入资源搜索,流量指示等功能,有必要弄一个客户端(强制安装的流氓软件?-_-b)
然后客户端的功能越想越强大,然后还可以提供数据给服务器端让它进行流量分配……
后来想到既然客户端都这么强大了,为啥还要用ftp呢,干脆直接传吧……
…………………………………………
…………………………………………
…………………………………………
…………………………………………
…………………………………………
于是,BT诞生了…… 莫名其妙的问题,莫名其妙的解决办法。。。按回车却死活不能响应事件,google了一下午,终于在一个偏僻小站找到一则民间偏方:“在登录窗口有一个HTML服务器控件的密码输入框,密码框按回车提交,Submit按钮无响应,经过查找发现,必须在页面中再加入一个或多个文本输入控件,button控件才能响应回车的click事件。”
开玩笑么,这简直就是类似于“吃秃子的头发可以治感冒”之类的邪乎玩意么
都折腾了一下午了,好歹也试试……厄……居然好了……晕……
好吧,多放一个文本框,又不能让人看到。
先尝试设置visible=false,厄……失效了……意料之中。
好吧,height=0px width=0px borderwidth=0px backcolor=透明,不错,有效,而且看不见。厄,按tab好像会切换到上面去。试试看enabled=false……居然还是有效的……意料之外。
不错,一个有趣的bug。 |
|
|