Aug
15
最近闲暇之余会看一看《别对我说谎/别对我撒谎》这部美剧,虽然最后都会被莱曼博士取得胜利,但是过程很精彩。
最为难得的是这个剧目很严谨,找不出什么逻辑上的漏洞。

《别对我说谎/别对我撒谎》所讲的故事是如此的不可思议:看着你的眼睛,观察你的小动作,听你的声音,和你握手……男主角Lightman博士就会知道你是否说谎,以及为什么说谎。Lightman博士成立了一个私人机构,利用自己的所长为侦查犯罪提供帮助。他的同事包括Foster博士、一名杰出的心理学家;Loker, 《别对我说谎/别对我撒谎》完全不会撒谎因此饱尝恶果的首席分析人员;还有Torres,本能地对他人微妙的情绪变化有敏锐的洞察力,据她自己说这种能力来源于“交过很多个男朋友”。在这一个个“人体测谎仪”的监视下,所有的谎言都将无所遁形……该剧播出两周便杀入全美收视20强,在18岁到49岁的主力收视人群中收视率排名第12位,收获了无数人气。此外,男主角的扮演者Tim Roth的个人魅力也不容小觑,浑身上下洋溢着文艺中年的风度,他曾出演过《落水狗》《绿巨人2》等片,不过最广为人知的是他在《海上钢琴师》里扮演的1900的角色。 在剧中,Lightman博士的“特异功能”来自于多年来对某原始部落成员眉毛细微变化的研究,他的研究表明人不屑的时候嘴唇会轻微上扬,单边耸肩表示你对自己所说的事情不抱任何信心,抿了抿嘴表示听到了不喜欢的消息……首集一开始,Lightman博士就与一个令FBI感到束手无策的制造爆炸案的嫌犯狭路相逢。没有逼供、没有物证,Lightman和嫌疑人聊了一会儿天,捕捉到了对方耸肩、吸鼻子等几个转瞬即逝的“细微表情”后便找出了爆炸物的安置点,真是神乎其技。

顺便上一个《别对我说谎/别对我撒谎》第二季的观看地址:http://www.hibaby.tk/vod-read-id-727.html
最为难得的是这个剧目很严谨,找不出什么逻辑上的漏洞。
《别对我说谎/别对我撒谎》所讲的故事是如此的不可思议:看着你的眼睛,观察你的小动作,听你的声音,和你握手……男主角Lightman博士就会知道你是否说谎,以及为什么说谎。Lightman博士成立了一个私人机构,利用自己的所长为侦查犯罪提供帮助。他的同事包括Foster博士、一名杰出的心理学家;Loker, 《别对我说谎/别对我撒谎》完全不会撒谎因此饱尝恶果的首席分析人员;还有Torres,本能地对他人微妙的情绪变化有敏锐的洞察力,据她自己说这种能力来源于“交过很多个男朋友”。在这一个个“人体测谎仪”的监视下,所有的谎言都将无所遁形……该剧播出两周便杀入全美收视20强,在18岁到49岁的主力收视人群中收视率排名第12位,收获了无数人气。此外,男主角的扮演者Tim Roth的个人魅力也不容小觑,浑身上下洋溢着文艺中年的风度,他曾出演过《落水狗》《绿巨人2》等片,不过最广为人知的是他在《海上钢琴师》里扮演的1900的角色。 在剧中,Lightman博士的“特异功能”来自于多年来对某原始部落成员眉毛细微变化的研究,他的研究表明人不屑的时候嘴唇会轻微上扬,单边耸肩表示你对自己所说的事情不抱任何信心,抿了抿嘴表示听到了不喜欢的消息……首集一开始,Lightman博士就与一个令FBI感到束手无策的制造爆炸案的嫌犯狭路相逢。没有逼供、没有物证,Lightman和嫌疑人聊了一会儿天,捕捉到了对方耸肩、吸鼻子等几个转瞬即逝的“细微表情”后便找出了爆炸物的安置点,真是神乎其技。
顺便上一个《别对我说谎/别对我撒谎》第二季的观看地址:http://www.hibaby.tk/vod-read-id-727.html
Aug
14
当门户网站频道过多的时候,并且绑定的是不同的二级子域。
这个时候就会发现,JS在整站中跨域的问题很让人恼火。
到处都是无权限。
我们会想到用iframe的方式来调用页面来实现跨域,但是那很麻烦很麻烦,而且还不好控制。
JQ中不是有跨域的解决方案吗?
NO!那个也麻烦。
flash本身就有跨域的方案,本身加入System.security.allowDomain("*");
然后写一个跨域规则的crossdomain.xml即可。
flash跨域类这么写:
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.external.ExternalInterface;
import flash.system.Security;
public class FlashProxy extends Sprite{
private var _params:Object;
private var _loader:URLLoader;
private var _method:String;
private var _id:String;
private var _parse:Boolean;
private var _inited:Boolean;
private var _data:String;
private var _xml:XML;
public function FlashProxy(){
Security.allowDomain('*');
_inited = false;
_data = "";
_parse = true;
_method = URLRequestMethod.POST;
_loader = new URLLoader();
configureListeners(_loader);
}
public function load(page:String,params:Object=null):void{
if(!_inited){
showError("FlashProxy还没有初始化!");
}
if(page == null || page == undefined){
showError("page参数为必须的!");
return;
}
var vars:URLVariables = new URLVariables();
vars.tmp = Math.random();
if(params != null){
for(var key in params){
if(key == "tmp"){
continue;
}
vars[key] = params[key];
}
}
_loader.dataFormat = URLLoaderDataFormat.TEXT;
var request:URLRequest = new URLRequest(page);
request.method = _method;
request.data = vars;
_loader.load(request);
}
public function setParse(value:Boolean):void{
_parse = value;
}
public function setMethod(value:String):void{
if(value == null || value == undefined){
return;
}
value = StringUtil.trim(value);
if(value.toLocaleUpperCase() == URLRequestMethod.POST || value.toLocaleUpperCase() == URLRequestMethod.GET){
_method = value.toLocaleUpperCase();
}
}
public function getData():String{
return _data;
}
private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
private function completeHandler(event:Event):void {
_data = _loader.data;
if(_parse){
try{
_xml = new XML(_data);
}catch(error:Error){
_parse = false;
_xml = null;
Tracer.debug("xml解析错误!");
}
}
ExternalInterface.call(_id+".onComplete");
}
private function openHandler(event:Event):void {
ExternalInterface.call(_id+".onOpen");
}
private function progressHandler(event:ProgressEvent):void {
ExternalInterface.call(_id+".onProgress",event.bytesLoaded,event.bytesTotal);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
showError("读取失败!\n 不能跨域访问,可能是你在web服务端根目录下没有放置crossdomain.xml文件!");
}
private function httpStatusHandler(event:HTTPStatusEvent):void {
showError("读取失败!\n HTTP错误代码为:"+event.status);
}
private function ioErrorHandler(event:IOErrorEvent):void {
showError("读取失败!\n 可能是因为下列原因:\n 1.网络忙,请稍候重试!\n 2.访问的web服务端没有开启!");
}
public function alert(msg:String):void{
navigateToURL(new URLRequest(msg));
}
public function showError(msg:String):void{
ExternalInterface.call(_id+".onError",msg);
}
}
}
当然,这个是较简单的一个跨域类。
APMServ的作者在其博客上也发了一个JS通过FLASH来跨域的方案,很全面。
参考地址是:
这个时候就会发现,JS在整站中跨域的问题很让人恼火。
到处都是无权限。
我们会想到用iframe的方式来调用页面来实现跨域,但是那很麻烦很麻烦,而且还不好控制。
JQ中不是有跨域的解决方案吗?
NO!那个也麻烦。
flash本身就有跨域的方案,本身加入System.security.allowDomain("*");
然后写一个跨域规则的crossdomain.xml即可。
flash跨域类这么写:
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.external.ExternalInterface;
import flash.system.Security;
public class FlashProxy extends Sprite{
private var _params:Object;
private var _loader:URLLoader;
private var _method:String;
private var _id:String;
private var _parse:Boolean;
private var _inited:Boolean;
private var _data:String;
private var _xml:XML;
public function FlashProxy(){
Security.allowDomain('*');
_inited = false;
_data = "";
_parse = true;
_method = URLRequestMethod.POST;
_loader = new URLLoader();
configureListeners(_loader);
}
public function load(page:String,params:Object=null):void{
if(!_inited){
showError("FlashProxy还没有初始化!");
}
if(page == null || page == undefined){
showError("page参数为必须的!");
return;
}
var vars:URLVariables = new URLVariables();
vars.tmp = Math.random();
if(params != null){
for(var key in params){
if(key == "tmp"){
continue;
}
vars[key] = params[key];
}
}
_loader.dataFormat = URLLoaderDataFormat.TEXT;
var request:URLRequest = new URLRequest(page);
request.method = _method;
request.data = vars;
_loader.load(request);
}
public function setParse(value:Boolean):void{
_parse = value;
}
public function setMethod(value:String):void{
if(value == null || value == undefined){
return;
}
value = StringUtil.trim(value);
if(value.toLocaleUpperCase() == URLRequestMethod.POST || value.toLocaleUpperCase() == URLRequestMethod.GET){
_method = value.toLocaleUpperCase();
}
}
public function getData():String{
return _data;
}
private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
private function completeHandler(event:Event):void {
_data = _loader.data;
if(_parse){
try{
_xml = new XML(_data);
}catch(error:Error){
_parse = false;
_xml = null;
Tracer.debug("xml解析错误!");
}
}
ExternalInterface.call(_id+".onComplete");
}
private function openHandler(event:Event):void {
ExternalInterface.call(_id+".onOpen");
}
private function progressHandler(event:ProgressEvent):void {
ExternalInterface.call(_id+".onProgress",event.bytesLoaded,event.bytesTotal);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
showError("读取失败!\n 不能跨域访问,可能是你在web服务端根目录下没有放置crossdomain.xml文件!");
}
private function httpStatusHandler(event:HTTPStatusEvent):void {
showError("读取失败!\n HTTP错误代码为:"+event.status);
}
private function ioErrorHandler(event:IOErrorEvent):void {
showError("读取失败!\n 可能是因为下列原因:\n 1.网络忙,请稍候重试!\n 2.访问的web服务端没有开启!");
}
public function alert(msg:String):void{
navigateToURL(new URLRequest(msg));
}
public function showError(msg:String):void{
ExternalInterface.call(_id+".onError",msg);
}
}
}
当然,这个是较简单的一个跨域类。
APMServ的作者在其博客上也发了一个JS通过FLASH来跨域的方案,很全面。
参考地址是:
引用
http://blog.s135.com/ajaxcdr/
Aug
12
应一位网友之邀,为他做一个和FIVERR.com一样的网站。
上网找寻了一番,没有什么可以拿来改的程序,也就只有自己来做了。
了解了一番FIVERR.com这个网站,其实也就是微博和B2C的结合体,有人说这很像威客。
在大学期间给外面的一个学长做过一个威客系统,在当时威客系统缺乏的情况下,销售的很是不错。
只可惜那时候不懂,被那学长占了很大便宜。直至今日,这套威客程序依旧在谷歌里面可以搜得出来。
所以就想到了在这个程序上继续的意图,昨晚翻开了以前的程序备份,看了一遍代码,觉得很是无语。
那时候果然是没有概念,所以还是重新来写一写吧。
预计20号上线测试,22号交付。
上网找寻了一番,没有什么可以拿来改的程序,也就只有自己来做了。
了解了一番FIVERR.com这个网站,其实也就是微博和B2C的结合体,有人说这很像威客。
在大学期间给外面的一个学长做过一个威客系统,在当时威客系统缺乏的情况下,销售的很是不错。
只可惜那时候不懂,被那学长占了很大便宜。直至今日,这套威客程序依旧在谷歌里面可以搜得出来。
所以就想到了在这个程序上继续的意图,昨晚翻开了以前的程序备份,看了一遍代码,觉得很是无语。
那时候果然是没有概念,所以还是重新来写一写吧。
预计20号上线测试,22号交付。
Aug
11
近期会有一个单子要做
其中涉及到了SNS的一些要素,而一些表现形式上都可以使用flash来完成。
其中涉及到的跨域问题毋庸置疑是要flash的。
而批量上传,视频等功能也不得不用flash来完成。
目前来说,这个单子中的群组功能将是一个挑战,虽然很多的程序都有,但是自己没做过
值得,研究一番。
其中涉及到了SNS的一些要素,而一些表现形式上都可以使用flash来完成。
其中涉及到的跨域问题毋庸置疑是要flash的。
而批量上传,视频等功能也不得不用flash来完成。
目前来说,这个单子中的群组功能将是一个挑战,虽然很多的程序都有,但是自己没做过
值得,研究一番。
Aug
10
今天彪哥一时兴起,在BBS上转来转去。
结果用他那过时的IE6在首页发现,首页半天都加载不下来。
首页只有一个阿里妈妈的远程动画和些图片以及JS。
根据以往经验来看,就是这个flash的问题。
因为在IE6这个单线程的浏览器中,来进行多线程的操作,那简直是痛苦。
最后不得不把那动画换成了图片。
IE6快死掉吧。
结果用他那过时的IE6在首页发现,首页半天都加载不下来。
首页只有一个阿里妈妈的远程动画和些图片以及JS。
根据以往经验来看,就是这个flash的问题。
因为在IE6这个单线程的浏览器中,来进行多线程的操作,那简直是痛苦。
最后不得不把那动画换成了图片。
IE6快死掉吧。








