Archive for 二月, 2010

js与flash交互

星期六, 二月 6th, 2010

在html页面里js调用swf里的方法,以及swf调用js函数。
在as中:

ExternalInterface.call("js函数名“,参数1,参数2,....);//flash调用js
ExternalInterface.addCallback("js函数名", as对应方法);//添加js对应的回调函数。

在html中:
关健是要先获取dom里的flash节点对象.假定为swfobj,
js调用方法为:swfobj.方法名(参数1,参数2);
例如:
as中:

ExternalInterface.addCallback("play", jsplay)
function jsplay(a,b,c){
//do someting
}

则js中可为:
swfobj.play(”a”,”b”,”c”);
js调用时需要对object,embed中的AllowScriptAccess做设定,默认值是: sameDomain,如果跨域的需要设为always,还要对其as中的Security.allowDomain进行设定,图方便可直接设为 Security.allowDomain(*);

补充一个比较杯具的问题:
除纯正的IE之外所有IE内核的浏览器,例如:傲游,TT,世界之窗等等,在js调用flash时会出现安全沙箱的问题。貌似是AllowScriptAccess无效了,其真正原因是因为这些外壳浏览器的缓存机制的问题。比较恶心的作法是针对IE内核的浏览器在引用swf文件时,在其URL地后增加一个随机变量。通过动态改变URL方式清除缓存。本来还以为是这些浏览器有问题,后来细想一下,还是adobe的问题。

jquery+swfobject代码:

var r=$.browser.msie?"?"+Math.random():"";
swfobject.embedSWF("main.swf"+r, "slides", "500", "260", "9.0.0","",
{}, {"AllowScriptAccess":"always"}, {"id":"flash_map","name":"flash_map"});

yui2.8在Dreamweaver的代码提示

星期四, 二月 4th, 2010

前段整了dreamweaver下如何自定义代码提示,经过一小段时间的整理。现在奉上一个YUI 2.8在dreamweaver cs4 下的代码提示。

下载yui 2.8提代提示文件(右健另存为

将该xml文件下载,放置到 Dreamweaver CS4安装目录\configuration\CodeHints下。
例如:C:\Program Files\Adobe\Adobe Dreamweaver CS4\configuration\CodeHints
重启Dreamweaver CS4。

QQ五笔的小动作!

星期二, 二月 2nd, 2010

一直没有好用的五笔,用了一段自定议的google五笔,只要碰到编码里有a的输入总觉的怪怪的。闲来无事装了QQ五笔,感觉还好。
又刚好前天无意间去输出了浏览器的navigator.userAgent值,发现QQ五笔把自已的信息加到了浏览器的navigator.userAgent里面,不管腾讯是何目的,总觉如此做法去收集用户的信息,实在感觉不爽。
在这个页也可以判读,是不是感觉很不爽!
如果你不想让腾讯知道你是否装了QQ五笔,那就是去除QQ五笔在IE浏览器下navigator.userAgent值,运行regedit,删除注册表下的键值。路径如下:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform

把QQWubi 108 删除,或是改名。

红色文字判断js代码!

if(navigator.userAgent.indexOf("QQWubi")>-1){
		document.write("你装了QQ五笔");
	}else{
		document.write("你没装QQ五笔");
	}

不知道QQ拼音输入法是否也有这样的手脚,有用QQ拼音的同学可以试试。