江湖风起云涌,高手辈出,后生可畏。正所谓“文无第一,武无第二”。计算机的门派之争一直没有停过,以前总喜欢说平台,用了谁的平台就上了谁的船。尤其是微软这个哪里都喜欢插一脚的大船。RIA界最近有几件大事发生,其实也无非就是各自发了几个新版本。各自的构架越摊越大,Flex拉上了Java的人,SilverLight带上了VS一干人。而且都已经发布到3.0了,SL之前还是可以忽略的,因为微软的任何东西没到3.0都是不能用的。现在到了这个时刻,大战不可难免。苦的是我们这些炮灰,跟对了老大才有饭吃,更何况在这个金融危机的冬天。你准备上谁的船?
动态加载JS方法
var sHTML="<input type=button onclick=" +
"go2()" + " value='Click Me'><BR>"
var sScript='<SCRIPT DEFER>'
sScript = sScript +
'function go2(){ alert("Hello from inserted script.") }'
sScript = sScript + '</script' + '>';
var ScriptDiv=document.getElementById("ScriptDiv");
alert(ScriptDiv)
ScriptDiv.insertAdjacentHTML("afterBegin",sHTML + sScript);
我在Chrome下面没有测试通过,继续寻找……
var sHTML="<input type=button onclick=" +
"go2()" + " value='Click Me'><BR>"
var sScript='<SCRIPT DEFER>'
sScript = sScript +
'function go2(){ alert("Hello from inserted script.") }'
sScript = sScript + '</script' + '>';
var ScriptDiv=document.getElementById("ScriptDiv");
alert(ScriptDiv)
ScriptDiv.insertAdjacentHTML("afterBegin",sHTML + sScript);
我在Chrome下面没有测试通过,继续寻找……
JS与Flash通讯早在多年以前就不是问题,但是因为微软的补丁,AS2到AS3的升级,加上一些focusFlash、swfObject的出现,再加上ExternalInterface的绑定。将Flash、JS、Flash的通讯搞的乱七八糟了。
再加上浏览器越来越多,想要完美的支持Flash与页面通讯,已经变得比兼容CSS更麻烦了。
Adobe自己官方的教程都不能满足ExternalInterface的正常运行。正确获得FLash Object都不能看CS3的Help了。
function getFlashMovieObject(movieName){
if (window.document[movieName]){
return window.document[movieName];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1){
if (document.embeds && document.embeds[movieName]){
return document.embeds[movieName];
}
}else{
return document.getElementById(movieName);
}
}
再加上浏览器越来越多,想要完美的支持Flash与页面通讯,已经变得比兼容CSS更麻烦了。
Adobe自己官方的教程都不能满足ExternalInterface的正常运行。正确获得FLash Object都不能看CS3的Help了。
function getFlashMovieObject(movieName){
if (window.document[movieName]){
return window.document[movieName];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1){
if (document.embeds && document.embeds[movieName]){
return document.embeds[movieName];
}
}else{
return document.getElementById(movieName);
}
}
之前出现过:
var isIE=(typeof window.ActiveXObject != 'undefined')?true:false;
官方的:
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName];
} else {
return document[movieName];
}
}
var isIE=(typeof window.ActiveXObject != 'undefined')?true:false;
官方的:
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName];
} else {
return document[movieName];
}
}
最近服务器很多,安装了多个版本的FMS来玩玩,将遇到的一些问题标记起来,以作备忘。
1.一直没有找到ASC文件功能介绍的文章,也不知道这个东西到底能干啥。以前做的项目只知道 load("components.asc");。
后来在一个项目里面使用 .call("msgfromserver", 的时候,总有些调试不正常就习惯性的把这句话去掉了。直到今天测试Netstream.publish的时候,死活跑不出来。才仔细研究了一下 scriptlib ,呵呵 FMS算开始入门了。
2.完蛋了,升级到AS3了还是确定load("components.asc") 会影响服务器Call的效果,暂时还没有办法解决。
AS3下的服务器Call的方式也有点改变,总要把Client定位到一个Object然后才能绑定一个接收函数。
3.上面2个问题已经解决,直接升级到FMS3
1.一直没有找到ASC文件功能介绍的文章,也不知道这个东西到底能干啥。以前做的项目只知道 load("components.asc");。
后来在一个项目里面使用 .call("msgfromserver", 的时候,总有些调试不正常就习惯性的把这句话去掉了。直到今天测试Netstream.publish的时候,死活跑不出来。才仔细研究了一下 scriptlib ,呵呵 FMS算开始入门了。
2.完蛋了,升级到AS3了还是确定load("components.asc") 会影响服务器Call的效果,暂时还没有办法解决。
AS3下的服务器Call的方式也有点改变,总要把Client定位到一个Object然后才能绑定一个接收函数。
var k:Object=new Object();
k.fmsCall=fmsCall;
fmsNet.client =k;
k.fmsCall=fmsCall;
fmsNet.client =k;
3.上面2个问题已经解决,直接升级到FMS3








