⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stylesheetreader.as

📁 flex 实现的一个showcase 喜欢flex的朋友可以
💻 AS
字号:
package com.teknision.data
{
	import com.teknision.data.events.StyleSheetReadEvent;
	
	import flash.events.EventDispatcher;
	
	public class StyleSheetReader extends EventDispatcher
	{
		
		import flash.net.*;
		import mx.rpc.http.*;
		import mx.rpc.events.*;
		import flash.text.StyleSheet;
		import flash.events.*;
		
		private var __urlLoader:URLLoader;
		
		public function readStyleSheet(i_styleSheet:String):void{
			
			var request:URLRequest = new URLRequest(i_styleSheet);
			
			__urlLoader = new URLLoader(request);
			__urlLoader.addEventListener(Event.COMPLETE,handleFileRead);
			__urlLoader.load(request);
	
		}
		
		private function handleFileRead(event:Event):void{

			var data:String = __urlLoader.data.split(String.fromCharCode(13)).join("").split(String.fromCharCode(10)).join("").split(String.fromCharCode(9)).join("").split("  ").join("");
			var css_styleObj:Object = new Object();
			
			if(data.length > 0){
				
				var styleTitleName:String = new String();
				var propertyObj:Object = new Object();
				var propertyName:String = new String();
				var propertyValue:String = new String();
				
				for(var i:uint=0;i<data.length;i++){
	
					if(data.charAt(i) == "{"){
						styleTitleName = this.getPreviousWord(data,i);
						
						// REMOVE THE . FROM THE BEGINNING OF THE STYLE TITLE
						if(styleTitleName.charAt(0) == "."){
							styleTitleName = styleTitleName.slice(1,styleTitleName.length);
						}
					}
					
					if(data.charAt(i) == ":"){
						propertyName = this.getPreviousWord(data,i);
					}
					
					if(data.charAt(i) == ";"){
						propertyValue = this.getPreviousWord(data,i);
						propertyObj[propertyName] = propertyValue;
					}
					
					if(data.charAt(i) == "}"){
						css_styleObj[styleTitleName] = propertyObj;
						propertyObj = null;
						propertyObj = new Object();
					}
	
				}
				
			}
			
			var newStyleSheetEvent:StyleSheetReadEvent = new StyleSheetReadEvent(css_styleObj);
			this.dispatchEvent(newStyleSheetEvent);

		}
		
		// Pass a string and a string index and this method will return the string
		// that appears before the index but after the characters in the break points array.
		private function getPreviousWord(i_str:String,i_charNum:Number):String{
	
			var breakPoints:Array = ["{",":",";","}"];
			for(var i:Number=(i_charNum-1); i>(-1); i--){
				for(var x:uint=0;x<breakPoints.length;x++){
					if(i_str.charAt(i) == breakPoints[x] || i == 0){
						if(i == 0){
							return i_str.slice(0,i_charNum);
						}
						return i_str.slice((i+1),i_charNum);
					}
				}
			}
			return undefined;
			
		}
		
	}
	
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -