JS window eval and load script!

1 .執行全局的 eval 代碼
var globalEval = function globalEval(src) {
    if (window.execScript) {
        window.execScript(src);
        return;
    }
    var fn = function() {
        window.eval.call(window,src);
    };
    fn();
};


以下爲騰訊的loadScript代碼:

QQ.LoadScript = function(url, callback, charset){
	var script = document.createElement("script");
	script.type = "text/javascript";
	if(charset){
		script.setAttribute("charset",charset);
	}
	if (script.readyState){
		script.onreadystatechange = function(){   
		   if(script.readyState == "loaded" || script.readyState == "complete"){   
				script.onreadystatechange = null;
				callback();
				document.getElementsByTagName("head")[0].removeChild(this);
		   }
		};
	}
	else {
		script.onload = function(){
			callback();
			document.getElementsByTagName("head")[0].removeChild(this);
		};
	}
	script.src = url;
	document.getElementsByTagName("head")[0].appendChild(script);
}

以下爲騰訊判斷ie 7與 ie 8的辦法:

    (function($){
        var winWidth = $(window).width();
        var winHeight = $(document).height();
        var shadowWidth = (winWidth - 1002)/2;
        $('#followMe').height( winHeight );
        var dm=document.documentMode;
        var ie=!-[1,];
        var ie7=ie&&dm==7;
        var ie8=ie&&dm==8;
        if( ie7||ie8 ){
            $('#fShaowL').width(shadowWidth+1);
        }else{
            $('#fShaowL').width(shadowWidth);
        }
        $('#fShaowR').width(shadowWidth);
        $('#followBottom').height( winHeight - 1572 );
        var img = new Image();
        img.src= 'http://mat1.gtimg.com/www/images/qq2012/guide_k_01.png';
    })(jQuery);

以下爲騰訊對天氣的處理辦法,不失爲一種對複雜數據的處理辦法:

var weatherCityMap ={
				"weatherCityWind":{
					"0":{
						"Dir":"", 
						"Power":"微風"
					},
					"1":{
						"Dir":"東北風",
						"Power":"3-4級"
					},
					"2":{
						"Dir":"東風",
						"Power":"4-5級"
					},
					"3":{
						"Dir":"東南風",
						"Power":"5-6級"
					},
					"4":{
						"Dir":"南風",
						"Power":"6-7級"
					},
					"5":{
						"Dir":"西南風",
						"Power":"7-8級"
					},
					"6":{
						"Dir":"西風",
						"Power":"8-9級"
					},
					"7":{
						"Dir":"西北風",
						"Power":"9-10級"
					},
					"8":{
						"Dir":"北風",
						"Power":"10-11級"
					},
					"9":{
						"Dir":"旋轉不定",
						"Power":"11-12級"
					}
				},
				"weatherCityIcon":{
					"default":{
						"big":"http://mat1.gtimg.com/weather/weatherIco/midImg/",
						"mid":"http://mat1.gtimg.com/www/images/qq2012/weather/icon35/",
						"small":"http://mat1.gtimg.com/www/images/qq2012/weather/"
					},
					"00":{
						"icon":"m0.png",
						"weatherTxt":"晴"
					},
					"01":{
						"icon":"m1.png",
						"weatherTxt":"多雲"
					},
					"02":{
						"icon":"m2.png",
						"weatherTxt":"陰"
					},
					"03":{
						"icon":"m3.png",
						"weatherTxt":"陣雨"
					},
					"04":{
						"icon":"m4.png",
						"weatherTxt":"雷陣雨"
					},
					"05":{
						"icon":"m4.png",
						"weatherTxt":"雷陣雨並伴有冰雹"
					},
					"06":{
						"icon":"m6.png",
						"weatherTxt":"雨夾雪"
					},
					"07":{
						"icon":"m7.png",
						"weatherTxt":"小雨"
					},
					"08":{
						"icon":"m8.png",
						"weatherTxt":"中雨"
					},
					"09":{
						"icon":"m9.png",
						"weatherTxt":"大雨"
					},
					"10":{
						"icon":"m10.png",
						"weatherTxt":"暴雨"
					},
					"11":{
						"icon":"m17.png",
						"weatherTxt":"大暴雪"
					},
					"12":{
						"icon":"m17.png",
						"weatherTxt":"特大暴雪"
					},
					"13":{
						"icon":"m14.png",
						"weatherTxt":"陣雪"
					},
					"14":{
						"icon":"m14.png",
						"weatherTxt":"小雪"
					},
					"15":{
						"icon":"m16.png",
						"weatherTxt":"中雪"
					},
					"16":{
						"icon":"m16.png",
						"weatherTxt":"大雪"
					},
					"17":{
						"icon":"m17.png",
						"weatherTxt":"暴雪"
					},
					"18":{
						"icon":"m18.png",
						"weatherTxt":"霧"
					},
					"19":{
						"icon":"m6.png",
						"weatherTxt":"凍雨"
					},
					"20":{
						"icon":"m20.png",
						"weatherTxt":"沙塵暴"
					},
					"21":{
						"icon":"m8.png",
						"weatherTxt":"小雨-中雨"
					},
					"22":{
						"icon":"m9.png",
						"weatherTxt":"中雨-大雨"
					},
					"23":{
						"icon":"m10.png",
						"weatherTxt":"大雨-暴雨"
					},
					"24":{
						"icon":"m10.png",
						"weatherTxt":"暴雨-大暴雨"
					},
					"25":{
						"icon":"m10.png",
						"weatherTxt":"大暴雨-特大暴雨"
					},
					"26":{
						"icon":"m16.png",
						"weatherTxt":"小雪-中雪"
					},
					"27":{
						"icon":"m16.png",
						"weatherTxt":"中雪-大雪"
					},
					"28":{
						"icon":"m17.png",
						"weatherTxt":"大雪-暴雪"
					},
					"29":{
						"icon":"m29.png",
						"weatherTxt":"浮塵"
					},
					"30":{
						"icon":"m29.png",
						"weatherTxt":"揚沙"
					},
					"31":{
						"icon":"m20.png",
						"weatherTxt":"強沙塵暴"
					},
					"32":{
						"icon":"m9.png",
						"weatherTxt":"颮"
					},
					"33":{
						"icon":"m33.png",
						"weatherTxt":"龍捲風"
					},
					"34":{
						"icon":"m14.png",
						"weatherTxt":"弱高吹雪"
					},
					"35":{
						"icon":"m18.png",
						"weatherTxt":"輕霧"
					},
					"53":{
						"icon":"m29.png",
						"weatherTxt":"霾"
					}
				},
				"living":{
			            'cl': [{ 'type': '', 'info': '' }, { 'type': '適宜', 'info': '天氣晴朗,空氣清新,是您晨練的大好時機。' }, { 'type': '較適宜', 'info': '較適宜晨練,某些氣象條件會對晨練產生一定影響,但影響不大。' }, { 'type': '較不宜', 'info': '某些氣象因素對晨練造成不利影響,較不宜晨練。' }, { 'type': '不適宜', 'info': '氣象因素非常不利於室外鍛鍊,請儘量避免戶外晨練。'}],
			            'cy': [{ 'type': '', 'info': '' }, { 'type': '炎熱', 'info': '薄型T恤衫。' }, { 'type': '熱舒適', 'info': '短套裝、T恤夏季服裝。' }, { 'type': '舒適', 'info': '長袖服裝。' }, { 'type': '涼舒適', 'info': '薄型套裝等春秋過渡裝。'},{ 'type': '溫涼', 'info': '夾衣或西服套裝加薄羊毛衫。' }, { 'type': '涼', 'info': '厚外套加毛衣等春秋服裝。' }, { 'type': '冷', 'info': '棉衣加羊毛衫等冬季服裝。' }, { 'type':'寒冷','info': '厚羽絨服等隆冬服裝。'}],
			            'gm': [{ 'type': '', 'info': '' }, { 'type': '少發', 'info': '各項氣象條件適宜,發生感冒機率較低。' }, { 'type': '較易發', 'info': '較易發生感冒,體質較弱的朋友請注意適當防護。' }, { 'type': '易發', 'info': '發生感冒機率較大,請加強自我防護避免感冒。'}, { 'type': '極易發', 'info': '極易發生感冒,請特別注意增加衣服保暖防寒避免感冒。'}],
			            'xc': [{ 'type': '', 'info': '' }, { 'type': '適宜', 'info': '適宜洗車,未來持續兩天無雨天氣較好,適合擦洗汽車。' }, { 'type': '較適宜', 'info': '較適宜洗車,未來一天無雨,風力較小,較適合擦洗汽車。' }, { 'type': '較不宜', 'info': '較不宜洗車,擦洗一新的汽車可能會蒙上污垢。'}, { 'type': '不宜', 'info': '不宜洗車,路上的泥水可能會再次弄髒您的愛車。'}],
			            'zs': [{ 'type': '無', 'info': '溫度不高,其他各項氣象條件適宜,中暑機率極低。' }, { 'type': '少發', 'info': '氣溫偏高,有可能中暑,體質較弱的朋友請注意防暑降溫,避免長時間在日光下暴曬或在高溫環境中工作。' }, { 'type': '較易', 'info': '氣溫較高,較易中暑,體弱者請避免長時間在日光下暴曬或在高溫環境中工作。' }, { 'type': '容易', 'info': '氣溫很高,熱氣逼人,容易中暑,請注意防暑降溫,避免長時間在日光下暴曬或在高溫環境中工作。'}, { 'type': '極易', 'info': '氣溫極高,熱浪滾滾,極易中暑,請注意防暑降溫,避免在高溫環境中工作。'}],
			            'zwx': [{ 'type': '', 'info': '' }, { 'type': '最弱', 'info': '屬弱紫外線輻射天氣,無需特別防護。若長期在戶外,建議塗擦SPF在8-12之間的防曬護膚品。' }, { 'type': '弱', 'info': '紫外線強度較弱,建議出門前塗擦SPF在12-15之間、PA+的防曬護膚品。' }, { 'type': '中等', 'info': '屬中等強度紫外線輻射天氣,外出時建議塗擦SPF高於15、PA+的防曬護膚品,戴帽子、太陽鏡。'}, { 'type': '強', 'info': '紫外線輻射強,建議塗擦SPF20左右、PA++的防曬護膚品。避免在10點至14點暴露於日光下。'}, { 'type': '很強', 'info': '紫外線輻射極強,建議塗擦SPF20以上、PA++的防曬護膚品,儘量避免暴露於日光下。'}],
			            'ls': [{ 'type': '', 'info': '' }, { 'type': '極適宜', 'info': '極適宜晾曬,請抓緊時機晾曬。' }, { 'type': '適宜', 'info': '適宜晾曬,趕緊把久未見陽光的衣物搬出來吸收一下太陽的味道吧!' }, { 'type': '基本適宜', 'info': '午後溫暖的陽光仍能滿足你驅潮消黴殺菌的晾曬需求。'}, { 'type': '不太適宜', 'info': '氣象要素對晾曬有影響,不太適宜晾曬。若非晾曬不可,請儘量選擇通風的地點。'}, { 'type': '不適宜', 'info': '不適宜晾曬。如果非晾曬不可,請在室內進行並關牢門窗。'}],
			            'kqwr': [{ 'type': '', 'info': '' }, { 'type': '優', 'info': '非常有利於空氣污染物稀釋、擴散和清除,可在室外正常活動。' }, { 'type': '良', 'info': '有利於空氣污染物稀釋、擴散和清除,可在室外正常活動。' }, { 'type': '中', 'info': '對空氣污染物稀釋、擴散和清除無明顯影響,易感人羣應適當減少室外活動時間。'}, { 'type': '較差', 'info': '較不利於空氣污染物稀釋、擴散和清除,請適當減少室外活動時間。'}, { 'type': '差', 'info': '不利於空氣污染物稀釋、擴散和清除,請儘量避免在室外長時間活動。'}],
			            'ly': [{ 'type': '', 'info': '' }, { 'type': '適宜', 'info': '明媚陽和微風伴您一路同行,適宜旅遊。' }, { 'type': '較適宜', 'info': '雖然會多雲或有風,但仍是出行遊玩的好時機,較適宜旅遊。' }, { 'type': '一般', 'info': '可能出現陰天、大風、陣雨或沙塵等天氣,將會給出行帶來一些不便,旅遊指數一般。'}, { 'type': '較不宜', 'info': '可能出現雨雪,強風,大霧等天氣,人體在戶外會感覺不舒適,將會給出行帶來很多不便,較不適宜出遊。'}, { 'type': '不適宜', 'info': '可能出現較大的雨雪,強風,凍雨,沙塵暴等天氣,對出行造成一定困難,不適宜旅遊。'}],
			            'kt': [{ 'type': '', 'info': '' },{ 'type': '長時間開啓', 'info': '悶熱,您需長時間開啓製冷空調來降溫除溼。' }, { 'type': '部分時間開啓', 'info': '天氣熱,建議您在適當的時候開啓製冷空調來降低溫度。' }, { 'type': '少部分時間', 'info': '中午的時候您將會感到有點熱,因此建議在午後較熱時開啓製冷空調。' }, { 'type': '較少開啓', 'info': '您將感到很舒適,一般不需要開啓空調。'}, { 'type': '開啓制暖空調', 'info': '冷,適當開啓制暖空調調節室內溫度。'}],
			            'dy': [{ 'type': '', 'info': '' }, { 'type': '適宜', 'info': '非常適宜垂釣,風和日麗的天氣將陪伴你度過愉快的垂釣時光。' }, { 'type': '較適宜', 'info': '較適合垂釣,氣象條件對垂釣會產生一定影響,但影響不大。' }, { 'type': '不適宜', 'info': '天氣不好,不適合垂釣,請選擇別的娛樂方式。'}],
			            'fs': [{ 'type': '', 'info': '' },{ 'type': '弱', 'info': '長期在戶外,建議塗擦SPF在8-12之間的防曬護膚品。' }, { 'type': '較弱', 'info': '建議塗擦SPF在12-15之間,PA+的防曬護膚品。' }, { 'type': '中等', 'info': '建議塗擦SPF指數高於15,PA+的防曬護膚品。' }, { 'type': '強', 'info': '外出時應加強防護,建議塗擦SPF在15—20之間PA++的防曬護膚品。'}, { 'type': '極強', 'info': '外出時應特別加強防護,建議塗擦SPF20以上,PA++的防曬護膚品,並隨時補塗。'}],
			            'gj': [{ 'type': '適宜', 'info': '天氣條件很適合逛街,可以盡情享受逛街的樂趣。' }, { 'type': '較適宜', 'info': '氣象要素對逛街有一定影響,比較適宜逛街。' }, { 'type': '較不宜', 'info': '天氣條件不適宜逛街,應儘量避免外出逛街。' }, { 'type': '不適宜', 'info': '氣象條件不適合逛街,請儘量選擇室內活動。'}],
			            'hc': [{ 'type': '', 'info': '' }, { 'type': '適宜', 'info': '天氣晴朗,溫度適宜,非常適合划船或嬉玩各種水上運動。' }, { 'type': '較適宜', 'info': '較適宜划船,有些氣象因素對划船會產生些影響,但影響不大。' }, { 'type': '不適宜', 'info': '不適宜划船,建議選擇別的娛樂方式或採取必要措施。'}],
			            'jt': [{ 'type': '', 'info': '' },{ 'type': '良好', 'info': '交通氣象條件良好,車輛可以正常行駛。' }, { 'type': '較好', 'info': '交通氣象條件較好,但不適宜高速行駛,司機應更加集中注意力,保持車距。' }, { 'type': '一般', 'info': '交通氣象條件一般,剎車距離延長,事故易發期,注意車距,務必小心駕駛。' }, { 'type': '較差', 'info': '交通氣象條件較差,事故高發期,車輛應低速行駛。'}, { 'type': '很差', 'info': '交通氣象條件很差,車輛行駛緩慢,儘量減少出行。'}],
			            'ys': [{ 'type': '', 'info': '' }, { 'type': '不帶傘', 'info': '降水概率很低,因此您在出門的時候無須帶雨傘。' }, { 'type': '帶傘', 'info': '將有陣雨或陣雪,如果您要短時間外出的話可不必帶雨傘。' }, { 'type': '帶傘', 'info': '有小雨或小雪或中雪,在短時間外出可收起雨傘,但最好還是帶上雨傘。'}, { 'type': '帶傘', 'info': '會有較大的雨雪天氣,您在外出的時候一定要帶雨傘,以免被雨水淋溼。'}],
			            'mf': [{ 'type': '', 'info': '' }, { 'type': '極適宜', 'info': '各項氣象條件都適宜美髮,這爲您的頭髮創造一個健康、潔淨的生長環境。' }, { 'type': '適宜', 'info': '有某項氣象因素會影響您的秀髮生長,請注意保養。 ' }, { 'type': '一般', 'info': '氣象條件對美髮有一定影響,注意保養您的美髮,細心呵護!'}],
			            'ysh': [{ 'type': '', 'info': '' }, { 'type': '適宜', 'info': '天氣晴朗,你可以盡情外出享受夜生活的樂趣,不用擔心天氣會來搗亂。' }, { 'type': '較適宜', 'info': '雖然有風或有雨雪天氣出現,但只要提前有所準備,您仍然可以享受夜生活的樂趣。' }, { 'type': '較不宜', 'info': '天氣會使人體在戶外感覺不舒適,建議夜生活最好在室內進行。'}],
			            'ffz': [{ 'type': '', 'info': '' }, { 'type': '適宜', 'info': '這種天氣去放風箏既可以舒展筋骨,又可放鬆身心。' }, { 'type': '較適宜', 'info': '選擇合適的地點,還是較適宜放風箏的。' }, { 'type': '不宜', 'info': '氣象條件不適宜放風箏。'}],
			            'hz': [{ 'type': '', 'info': '' }, { 'type': '保溼防龜裂', 'info': '天氣寒冷,多補水,選用滋潤保溼型化妝品,使用潤脣膏。' }, { 'type': '保溼', 'info': '皮膚易缺水,用保溼型霜類化妝品,使用潤脣膏。' }, { 'type': '控油', 'info': '建議用露質面霜打底,水質無油粉底霜,透明粉餅,粉質胭脂。'}, { 'type': '防曬', 'info': '天氣炎熱,易出汗,建議使用防脫水防曬指數高的化妝品,經常補粉。'}],
			            'fh': [{ 'type': '', 'info': '' }, { 'type': '涼', 'info': '室外活動注意適當增減衣物。' }, { 'type': '冷', 'info': '室外活動要穿厚實一點,年老體弱者要適當注意保暖。' }, { 'type': '寒冷', 'info': '室外活動要注意保暖,可戴手套與帽子。' }, { 'type': '非常寒冷', 'info': '室外活動注意保暖防寒,可戴厚手套和帽子,年老體弱者避免長時間外出。' }, { 'type': '嚴寒', 'info': '着羽絨服、皮大衣仍感到寒冷,室外活動須戴厚棉、皮手套和帽子。' }, { 'type': '冰凍嚴寒', 'info': '極易造成裸露皮膚凍傷,儘量避免野外作業和外出。' }, { 'type': '', 'info': '' }, { 'type': '微涼', 'info': '溫度未達到風寒所需的低溫,稍作防寒準備即可。'}],
			            'xq': [{ 'type': '', 'info': '' }, { 'type': '好', 'info': '天氣晴朗,陽光燦爛,空氣溫潤,和風飄飄,美好的天氣會帶來一天接踵而來的好心情。' }, { 'type': '較好', 'info': '溫度舒適,您會覺得精神振奮,意氣風發,心情舒暢。' }, { 'type': '較差', 'info': '天氣陰沉或有霧,會感覺莫名的壓抑,情緒低落。'}, { 'type': '差', 'info': '天氣陰沉有雨或有沙塵,悶熱潮溼的空氣會讓人感到胸悶,心情糟糕。'}],
			            'yd': [{ 'type': '', 'info': '' }, { 'type': '適宜', 'info': '天氣較好,且紫外線輻射不強,適宜戶外運動。' }, { 'type': '較適宜', 'info': '較適宜在戶內低強度運動,戶外運動需防曬避風。' }, { 'type': '較不宜', 'info': '受大風,氣壓,強紫外線,過高或過低的氣溫等天氣影響,較不宜運動'}],
			            'yh': [{ 'type': '', 'info': '' }, { 'type': '適宜', 'info': '天氣晴朗,風和日麗,適宜與情人約會。' }, { 'type': '較適宜', 'info': '天氣不會有太大的影響,你仍然可以有一個愉快的約會。' }, { 'type': '較不適宜', 'info': '會有影響人體舒適的不好天氣出現,室外約會可能會讓戀人們受些苦,最好在溫暖的室內促膝談心'}, { 'type': '不適宜', 'info': '天氣會對人體有較大影響,外出約會還可能會敗興而歸,男士請別約美眉逛街。'}]
			        }
			}


發佈了177 篇原創文章 · 獲贊 11 · 訪問量 46萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章