现在我们找讨论一下js文件。iCast使用了JScript.Encode来加密js的源代码,这是5.0版ie的一个功能,目前也只有ie支持,也就是说,iCast只能在5.0般的ie上看到,不过现在世界上的ie普及率这么高,icast也就不在乎什么兼容性了,经常问如何屏蔽iCast的弟弟妹妹们,装个firefox吧,这样看sina的时候就不怕那什么出来了。源代码怎么decode出来我就不用说了吧,什么?不知道,不知道是这个世界上最牛的话,服了U,自己去问Google大神。不可否认,iCast的js文件写的是相当的精妙的,一般的程序员很难写得出如此好地js,iCast的技术壁垒不在java而在javascript,从头说起:
var ntelevise_channel_ID = 583;
var _nTelevise_Controller_init = [ntelevise_channel_ID, 43327, "http://www.w3cool.com/ntelevise/", "http://travel.w3cool.com.cn/adv/skin/white/", "http://www.w3cool.com/ntelevise/", "http://track.w3cool.com.cn/tracker/trackerI2.dll","2.swf|2.swf",320,264,false,"#000000","2.zip",10,false,"","","","http://secure-cn.fc510.com/cgi-bin/m?ci=cn-hdt&cg=0&si=http://house.fc510.cn/",false,false];
.这是整个的初始化参数:
-
'site_id', (站点id, 指一个投放广告的子站点如.news.163.com)
-
'mission_id' (投放任务id,用与计费)
-
'download_base' (广告文件下载地址)
-
'skin_base' (播放器外观)
-
'code_base' (程序文件的下载前缀)
-
'track_server' (计费服务器地址)
-
'movie_filename1','movie_w1','movie_h1' (广告文件名,宽度、长度)
-
'is_quick_load' (不知道是什么)
-
'cookie_name' 记录广告是否被播放了,播了一次就别播了,不过最近163、sina好像都不在乎了,打开就播,也是现在广大网民烦他们的地方。
-
'ad_type'(不知道是什么)
-
'3pt_tracker'(不知道是什么)
-
'no_title'(不知道是什么)
-
'listen_domain'(不知道是什么)
this.param_list = ['site_id', 'mission_id','download_base','skin_base','code_base','track_server','movie_filename1','movie_w1','movie_h1','is_loop','bg_color','dld_filename','interval','is_quick_load','cookie_name','cpm_tracker','ad_type','3pt_tracker','no_title','listen_domain'];
for (var i=0; i<this.param_list.length; i++ ) {
var x = this.param_list[i];
if ( x!='' && x!=null ) {
this[x] = para[i];
}
}
this.inited = false;
this.GUID = Math.abs(this.mission_id) + '_' + Math.abs(this.site_id);
this.UID = (Math.random()+1).toString().replace(/\./,'').substr(0,12);
this.submit_list = this.submit_list_string = [];
this.submit_timeout = null;
this.played_count = 0;
this.domain = '';
this.original_domain = '';
这一段用于初始化和获取参数。
文章来源:http://www.w3cool.com/2007/02/20/icast.html