js插件类库组织与管理(基于asp.net管理)

所属分类: 网络编程 / ASP.NET 阅读数: 167
收藏 0 赞 0 分享
testjs插件类库组织与管理
先举个例子,比如jquery插件中的calendar在一个页面中就得有如下代码
复制代码 代码如下:

<style type="text/css">
@import ""script/calendar/jquery.datepick.css";
</style>
<script type="text/javascript" src="script/jquery1.3.2.js"></script>
<script type="text/javascript" src=""script/calendar/jquery.datepick.js"></script>
<script type="text/javascript" src=""script/calendar/jquery.datepick-zh-CN.js"></script>

看上面代码,calendar代码得运用四个相关的文件。其中jquery1.3.2.js是必须的,jquery.datepick-zh-CN.js依赖于jquery.datepick.js(日历插件),而jquery.datepick.css是插件的样式。
运用以上代码得很小心的对待插件的依赖关系,主次关系不能换,移动文件路径还得改动文件src路径,以上script中下载js文件都是单线程下载,理想的是进行多线程下载(firebug看得出来),再者就是插件的缓存问题(插件更新了,客户端可能还保存着原来的文件)。
看过不少网上关于这方面的解决方案,博客园中有SmartScript和javaeye中有JSI,它们貌似都存在一个boot.js文件。而我的解决方案就只需要一个script后面跟插件参数即可。
以下是我对上述问题的一个解决方案:
<script type="text/javascript" src="script.do?plugins=calendar"></script>
在一个页面中只需要js应用的插件只需要script.do后跟参数后插件名参数即可,其它的工作就是在整体写一个插件资源配置文件(写插件配置的人得弄清楚js相关资源,这个只需要配置一次),至于其它什么也不需要弄。
插件资源配置文件
复制代码 代码如下:

<?xml version="1.0" encoding="utf-8" ?>
<script path="script/plugins/" name="script/jquery1.3.2.js" lazy="script/plugins/lazy/jquery.lazy-1.3.1.js">
<!--自动完成-->
<plugin name="autocomplete" file="autocomplete/jquery.autocomplete.js">
<lazy file="autocomplete/jquery.autocomplete.css"></lazy>
</plugin>
<!--日历-->
<plugin name="calendar" file="calendar/jquery.datepick.pack.js">
<lazy file="calendar/jquery.datepick.css"></lazy>
<lazy file="calendar/jquery.datepick-zh-CN.js"></lazy>
</plugin>
<!--提示框-->
<plugin name="tip" file="tip/jquery.tip.js">
<lazy file="tip/bs.css"></lazy>
</plugin>
<!--拖动-->
<plugin name="draggable" file="jquery.draggable.js">
<lazy file="ui/ui.core.js"></lazy>
<lazy file="draggable/ui.draggable.css"></lazy>
</plugin>
<!--拖动放下-->
<plugin name="droppable" file="jquery.droppable.js">
<lazy file="ui/ui.core.js"></lazy>
<lazy file="droppable/ui.droppable.css"></lazy>
<lazy file="draggable/ui.draggable.js"></lazy>
<lazy file="draggable/ui.draggable.css"></lazy>
</plugin>
</script>

html示例代码:
复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>无标题页</title>
<%-- <script type="text/javascript" src="script/jquery1.3.2.js"></script>
<script type="text/javascript" src="script/plugins/lazy/jquery.lazy-1.3.1.js"></script>--%>
<script type="text/javascript" src="script.do?plugins=autocomplete,tip"></script>
</head>
<body>
<input type="text" id="suggest1" style="border:1px solid #ccc"/><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<a href="#" title="Basic Tool Tip" class="bslink">Tip1</a><br />
</body>
</html>
<script>
var cities = [
"Aberdeen", "Ada", "Adamsville", "Addyston", "Adelphi", "Adena", "Adrian", "Akron",
"Albany", "Alexandria", "Alger", "Alledonia", "Alliance", "Alpha", "Alvada",
"Alvordton", "Amanda", "Amelia", "Amesville", "Amherst", "Amlin", "Amsden",
"Amsterdam", "Andover", "Anna", "Ansonia", "Antwerp", "Apple Creek", "Arcadia",
"Arcanum", "Archbold", "Arlington", "Ashland", "Ashley", "Ashtabula", "Ashville",
"Athens", "Attica", "Atwater", "Augusta", "Aurora", "Austinburg", "Ava", "Avon",
"Avon Lake", "Bainbridge", "Bakersville", "Baltic", "Baltimore", "Bannock",
"Barberton", "Barlow", "Barnesville", "Bartlett", "Barton", "Bascom", "Batavia",
"Bath", "Bay Village", "Beach City", "Beachwood", "Beallsville", "Beaver",
"Beaverdam", "Bedford", "Bellaire", "Bellbrook", "Belle Center", "Belle Valley",
"Bellefontaine", "Bellevue", "Bellville", "Belmont", "Belmore", "Beloit", "Belpre",
"Benton Ridge", "Bentonville", "Berea", "Bergholz", "Berkey", "Berlin",
"Berlin Center", "Berlin Heights", "Bethel", "Bethesda", "Bettsville", "Beverly",
"Bidwell", "Big Prairie", "Birmingham", "Blacklick", "Bladensburg", "Blaine",
"Blakeslee", "Blanchester", "Blissfield", "Bloomdale", "Bloomingburg",
"Bloomingdale", "Bloomville", "Blue Creek", "Blue Rock", "Bluffton",
"Bolivar", "Botkins", "Bourneville", "Bowerston", "Bowersville",
"Bowling Green", "Bradford", "Bradner", "Brady Lake", "Brecksville",
"Bremen", "Brewster", "Brice", "Bridgeport", "Brilliant", "Brinkhaven",
"Bristolville", "Broadview Heights", "Broadway", "Brookfield", "Brookpark",
"Brookville", "Brownsville", "Brunswick", "Bryan", "Buchtel", "Buckeye Lake",
"Buckland", "Bucyrus", "Buffalo", "Buford", "Burbank", "Burghill", "Burgoon",
"Burkettsville", "Burton", "Butler", "Byesville", "Cable", "Cadiz", "Cairo",
"Caldwell", "Caledonia", "Cambridge", "Camden", "Cameron", "Camp Dennison",
"Campbell", "Canal Fulton", "Canal Winchester", "Canfield", "Canton", "Carbon Hill",
"Carbondale", "Cardington", "Carey", "Carroll", "Carrollton", "Casstown",
"Castalia", "Catawba", "Cecil", "Cedarville", "Celina", "Centerburg",
"Chagrin Falls", "Chandlersville", "Chardon", "Charm", "Chatfield", "Chauncey",
"Cherry Fork", "Chesapeake", "Cheshire", "Chester", "Chesterhill", "Chesterland",
"Chesterville", "Chickasaw", "Chillicothe", "Chilo", "Chippewa Lake",
"Christiansburg", "Cincinnati", "Circleville", "Clarington", "Clarksburg",
"Clarksville", "Clay Center", "Clayton", "Cleveland", "Cleves", "Clifton",
"Clinton", "Cloverdale", "Clyde", "Coal Run", "Coalton", "Coldwater", "Colerain",
"College Corner", "Collins", "Collinsville", "Colton", "Columbia Station",
"Columbiana", "Columbus", "Columbus Grove", "Commercial Point", "Conesville",
"Conneaut", "Conover", "Continental", "Convoy", "Coolville", "Corning", "Cortland",
"Coshocton", "Covington", "Creola", "Crestline", "Creston", "Crooksville",
"Croton", "Crown City", "Cuba", "Cumberland", "Curtice", "Custar", "Cutler",
"Cuyahoga Falls", "Cygnet", "Cynthiana", "Dalton", "Damascus", "Danville",
"Dayton", "De Graff", "Decatur", "Deerfield", "Deersville", "Defiance",
"Delaware", "Dellroy", "Delphos", "Delta", "Dennison", "Derby", "Derwent",
"Deshler", "Dexter City", "Diamond", "Dillonvale", "Dola", "Donnelsville",
"Dorset", "Dover", "Doylestown", "Dresden", "Dublin", "Dunbridge", "Duncan Falls",
"Dundee", "Dunkirk", "Dupont", "East Claridon", "East Fultonham",
"East Liberty", "East Liverpool", "East Palestine", "East Rochester",
"East Sparta", "East Springfield", "Eastlake", "Eaton", "Edgerton", "Edison",
"Edon", "Eldorado", "Elgin", "Elkton", "Ellsworth", "Elmore", "Elyria",
"Empire", "Englewood", "Enon", "Etna", "Euclid", "Evansport", "Fairborn",
"Fairfield", "Fairpoint", "Fairview", "Farmdale", "Farmer", "Farmersville",
"Fayette", "Fayetteville", "Feesburg", "Felicity", "Findlay", "Flat Rock",
"Fleming", "Fletcher", "Flushing", "Forest", "Fort Jennings", "Fort Loramie",
"Fort Recovery", "Fostoria", "Fowler", "Frankfort", "Franklin",
"Franklin Furnace", "Frazeysburg", "Fredericksburg", "Fredericktown",
"Freeport", "Fremont", "Fresno", "Friendship", "Fulton", "Fultonham",
"Galena", "Galion", "Gallipolis", "Galloway", "Gambier", "Garrettsville",
"Gates Mills", "Geneva", "Genoa", "Georgetown", "Germantown", "Gettysburg",
"Gibsonburg", "Girard", "Glandorf", "Glencoe", "Glenford", "Glenmont",
"Glouster", "Gnadenhutten", "Gomer", "Goshen", "Grafton", "Grand Rapids",
"Grand River", "Granville", "Gratiot", "Gratis", "Graysville", "Graytown",
"Green", "Green Camp", "Green Springs", "Greenfield", "Greenford",
"Greentown", "Greenville", "Greenwich", "Grelton", "Grove City",
"Groveport", "Grover Hill", "Guysville", "Gypsum", "Hallsville",
"Hamden", "Hamersville", "Hamilton", "Hamler", "Hammondsville",
"Hannibal", "Hanoverton", "Harbor View", "Harlem Springs", "Harpster",
"Harrisburg", "Harrison", "Harrisville", "Harrod", "Hartford", "Hartville",
"Harveysburg", "Haskins", "Haverhill", "Haviland", "Haydenville", "Hayesville",
"Heath", "Hebron", "Helena", "Hicksville", "Higginsport", "Highland", "Hilliard",
"Hillsboro", "Hinckley", "Hiram", "Hockingport", "Holgate", "Holland",
"Hollansburg", "Holloway", "Holmesville", "Homer", "Homerville", "Homeworth",
"Hooven", "Hopedale", "Hopewell", "Houston", "Howard", "Hoytville", "Hubbard",
"Hudson", "Huntsburg", "Huntsville", "Huron", "Iberia", "Independence",
"Irondale", "Ironton", "Irwin", "Isle Saint George", "Jackson", "Jackson Center",
"Jacksontown", "Jacksonville", "Jacobsburg", "Jamestown", "Jasper",
"Jefferson", "Jeffersonville", "Jenera", "Jeromesville", "Jerry City",
"Jerusalem", "Jewell", "Jewett", "Johnstown", "Junction City", "Kalida",
"Kansas", "Keene", "Kelleys Island", "Kensington", "Kent", "Kenton",
"Kerr", "Kettlersville", "Kidron", "Kilbourne", "Killbuck", "Kimbolton",
"Kings Mills", "Kingston", "Kingsville", "Kinsman", "Kipling", "Kipton",
"Kirby", "Kirkersville", "Kitts Hill", "Kunkle", "La Rue", "Lacarne",
"Lafayette", "Lafferty", "Lagrange", "Laings", "Lake Milton", "Lakemore",
"Lakeside Marblehead", "Lakeview", "Lakeville", "Lakewood", "Lancaster",
"Langsville", "Lansing", "Latham", "Latty", "Laura", "Laurelville",
"Leavittsburg", "Lebanon", "Lees Creek", "Leesburg", "Leesville",
"Leetonia", "Leipsic", "Lemoyne", "Lewis Center", "Lewisburg",
"Lewistown", "Lewisville", "Liberty Center", "Lima", "Limaville",
"Lindsey", "Lisbon", "Litchfield", "Lithopolis", "Little Hocking",
"Lockbourne", "Lodi", "Logan", "London", "Londonderry",
"Long Bottom", "Lorain", "Lore City", "Loudonville", "Louisville",
"Loveland", "Lowell", "Lowellville", "Lower Salem", "Lucas",
"Lucasville", "Luckey", "Ludlow Falls", "Lynchburg", "Lynx",
"Lyons", "Macedonia", "Macksburg", "Madison", "Magnetic Springs",
"Magnolia", "Maineville", "Malaga", "Malinta", "Malta", "Malvern",
"Manchester", "Mansfield", "Mantua", "Maple Heights", "Maplewood",
"Marathon", "Marengo", "Maria Stein", "Marietta", "Marion",
"Mark Center", "Marshallville", "Martel", "Martin", "Martins Ferry",
"Martinsburg", "Martinsville", "Marysville", "Mason", "Massillon",
"Masury", "Maumee", "Maximo", "Maynard", "Mc Arthur", "Mc Clure",
"Mc Comb", "Mc Connelsville", "Mc Cutchenville", "Mc Dermott",
"Mc Donald", "Mc Guffey", "Mechanicsburg", "Mechanicstown",
"Medina", "Medway", "Melmore", "Melrose", "Mendon", "Mentor",
"Mesopotamia", "Metamora", "Miamisburg", "Miamitown", "Miamiville",
"Middle Bass", "Middle Point", "Middlebranch", "Middleburg",
"Middlefield", "Middleport", "Middletown", "Midland", "Midvale",
"Milan", "Milford", "Milford Center", "Millbury", "Milledgeville",
"Miller City", "Millersburg", "Millersport", "Millfield",
"Milton Center", "Mineral City", "Mineral Ridge", "Minerva",
"Minford", "Mingo", "Mingo Junction", "Minster", "Mogadore",
"Monclova", "Monroe", "Monroeville", "Montezuma", "Montpelier",
"Montville", "Morral", "Morristown", "Morrow", "Moscow",
"Mount Blanchard", "Mount Cory", "Mount Eaton", "Mount Gilead",
"Mount Hope", "Mount Liberty", "Mount Orab", "Mount Perry",
"Mount Pleasant", "Mount Saint Joseph", "Mount Sterling",
"Mount Vernon", "Mount Victory", "Mowrystown", "Moxahala",
"Munroe Falls", "Murray City", "Nankin", "Napoleon", "Nashport",
"Nashville", "Navarre", "Neapolis", "Neffs", "Negley",
"Nelsonville", "Nevada", "Neville", "New Albany", "New Athens",
"New Bavaria", "New Bloomington", "New Bremen", "New Carlisle",
"New Concord", "New Hampshire", "New Haven", "New Holland",
"New Knoxville", "New Lebanon", "New Lexington", "New London",
"New Madison", "New Marshfield", "New Matamoras", "New Middletown",
"New Paris", "New Philadelphia", "New Plymouth", "New Richmond",
"New Riegel", "New Rumley", "New Springfield", "New Straitsville",
"New Vienna", "New Washington", "New Waterford", "New Weston",
"Newark", "Newbury", "Newcomerstown", "Newport", "Newton Falls",
"Newtonsville", "Ney", "Niles", "North Baltimore", "North Bend",
"North Benton", "North Bloomfield", "North Fairfield",
"North Georgetown", "North Hampton", "North Jackson",
"North Kingsville", "North Lawrence", "North Lewisburg",
"North Lima", "North Olmsted", "North Ridgeville", "North Robinson",
"North Royalton", "North Star", "Northfield", "Northwood", "Norwalk",
"Norwich", "Nova", "Novelty", "Oak Harbor", "Oak Hill", "Oakwood",
"Oberlin", "Oceola", "Ohio City", "Okeana", "Okolona", "Old Fort",
"Old Washington", "Olmsted Falls", "Ontario", "Orangeville",
"Oregon", "Oregonia", "Orient", "Orrville", "Orwell", "Osgood",
"Ostrander", "Ottawa", "Ottoville", "Otway", "Overpeck",
"Owensville", "Oxford", "Painesville", "Palestine", "Pandora",
"Paris", "Parkman", "Pataskala", "Patriot", "Paulding", "Payne",
"Pedro", "Peebles", "Pemberton", "Pemberville", "Peninsula",
"Perry", "Perrysburg", "Perrysville", "Petersburg", "Pettisville",
"Phillipsburg", "Philo", "Pickerington", "Piedmont", "Pierpont",
"Piketon", "Piney Fork", "Pioneer", "Piqua", "Pitsburg",
"Plain City", "Plainfield", "Pleasant City", "Pleasant Hill",
"Pleasant Plain", "Pleasantville", "Plymouth", "Polk",
"Pomeroy", "Port Clinton", "Port Jefferson", "Port Washington",
"Port William", "Portage", "Portland", "Portsmouth", "Potsdam",
"Powell", "Powhatan Point", "Proctorville", "Prospect", "Put in Bay",
"Quaker City", "Quincy", "Racine", "Radnor", "Randolph", "Rarden",
"Ravenna", "Rawson", "Ray", "Rayland", "Raymond", "Reedsville",
"Reesville", "Reno", "Republic", "Reynoldsburg", "Richfield",
"Richmond", "Richmond Dale", "Richwood", "Ridgeville Corners",
"Ridgeway", "Rio Grande", "Ripley", "Risingsun", "Rittman",
"Robertsville", "Rock Camp", "Rock Creek", "Rockbridge", "Rockford",
"Rocky Ridge", "Rocky River", "Rogers", "Rome", "Rootstown", "Roseville",
"Rosewood", "Ross", "Rossburg", "Rossford", "Roundhead", "Rudolph",
"Rushsylvania", "Rushville", "Russells Point", "Russellville", "Russia",
"Rutland", "Sabina", "Saint Clairsville", "Saint Henry", "Saint Johns",
"Saint Louisville", "Saint Marys", "Saint Paris", "Salem", "Salesville",
"Salineville", "Sandusky", "Sandyville", "Sarahsville", "Sardinia",
"Sardis", "Savannah", "Scio", "Scioto Furnace", "Scott", "Scottown",
"Seaman", "Sebring", "Sedalia", "Senecaville", "Seven Mile", "Seville",
"Shade", "Shadyside", "Shandon", "Sharon Center", "Sharpsburg",
"Shauck", "Shawnee", "Sheffield Lake", "Shelby", "Sherrodsville",
"Sherwood", "Shiloh", "Short Creek", "Shreve", "Sidney", "Sinking Spring",
"Smithfield", "Smithville", "Solon", "Somerdale", "Somerset",
"Somerville", "South Bloomingville", "South Charleston", "South Lebanon",
"South Point", "South Salem", "South Solon", "South Vienna",
"South Webster", "Southington", "Sparta", "Spencer", "Spencerville",
"Spring Valley", "Springboro", "Springfield", "Stafford", "Sterling",
"Steubenville", "Stewart", "Stillwater", "Stockdale", "Stockport",
"Stone Creek", "Stony Ridge", "Stout", "Stoutsville", "Stow", "Strasburg",
"Stratton", "Streetsboro", "Strongsville", "Struthers", "Stryker",
"Sugar Grove", "Sugarcreek", "Sullivan", "Sulphur Springs", "Summerfield",
"Summit Station", "Summitville", "Sunbury", "Swanton", "Sycamore",
"Sycamore Valley", "Sylvania", "Syracuse", "Tallmadge", "Tarlton",
"Terrace Park", "The Plains", "Thompson", "Thornville", "Thurman",
"Thurston", "Tiffin", "Tiltonsville", "Tipp City", "Tippecanoe", "Tiro",
"Toledo", "Tontogany", "Torch", "Toronto", "Tremont City", "Trenton",
"Trimble", "Trinway", "Troy", "Tuppers Plains", "Tuscarawas", "Twinsburg",
"Uhrichsville", "Union City", "Union Furnace", "Unionport", "Uniontown",
"Unionville", "Unionville Center", "Uniopolis", "Upper Sandusky", "Urbana",
"Utica", "Valley City", "Van Buren", "Van Wert", "Vandalia", "Vanlue",
"Vaughnsville", "Venedocia", "Vermilion", "Verona", "Versailles",
"Vickery", "Vienna", "Vincent", "Vinton", "Wadsworth", "Wakefield",
"Wakeman", "Walbridge", "Waldo", "Walhonding", "Walnut Creek", "Wapakoneta",
"Warnock", "Warren", "Warsaw", "Washington Court House",
"Washingtonville", "Waterford", "Waterloo", "Watertown", "Waterville",
"Wauseon", "Waverly", "Wayland", "Wayne", "Waynesburg", "Waynesfield",
"Waynesville", "Wellington", "Wellston", "Wellsville", "West Alexandria",
"West Chester", "West Elkton", "West Farmington", "West Jefferson",
"West Lafayette", "West Liberty", "West Manchester", "West Mansfield",
"West Millgrove", "West Milton", "West Point", "West Portsmouth",
"West Rushville", "West Salem", "West Union", "West Unity", "Westerville",
"Westfield Center", "Westlake", "Weston", "Westville", "Wharton",
"Wheelersburg", "Whipple", "White Cottage", "Whitehouse", "Wickliffe",
"Wilberforce", "Wilkesville", "Willard", "Williamsburg", "Williamsfield",
"Williamsport", "Williamstown", "Williston", "Willoughby", "Willow Wood",
"Willshire", "Wilmington", "Wilmot", "Winchester", "Windham", "Windsor",
"Winesburg", "Wingett Run", "Winona", "Wolf Run", "Woodsfield",
"Woodstock", "Woodville", "Wooster", "Wren", "Xenia", "Yellow Springs",
"Yorkshire", "Yorkville", "Youngstown", "Zaleski", "Zanesfield", "Zanesville",
"Zoar"
];
$('.bslink').tip();
$("#suggest1").autocomplete(cities);
</script>

相关demo下载

补充资料
demo程序中还少一个script.do文件,并且还需要在IIS中配置“.do”的应用程序扩展,方法如下:在IIS中选择所建的网站,右键单击“属性”如下图:
更多精彩内容其他人还在看

ASP.NET 水晶报表打印功能实现代码

ASP.NET下的水晶报表打印,据我所知有以下几种办法可以打印
收藏 0 赞 0 分享

ASP.Net 图片存入数据库的实现代码

在很多时候,我们有这样的需求:把图片存入到数据库当中。在一些应用程序中,我们可能有一些敏感的资料,由于存储在文件系统(file system)中的东西,将很容易被某些用户盗取,所以这些数据不能存放在文件系统中。
收藏 0 赞 0 分享

让Silverlight 2.0动画动起来Making Silverlight 2.0 animation Start(不能运动原因)

Microsoft Expression Blend 2 制作动画个人感觉倒像3DMAX 可以自动捕捉关键帧
收藏 0 赞 0 分享

asp.net Reporting Service在Web Application中的应用

由于我们这个项目中使用微软的报表服务(Reporting Services)作为报表输出工具,本人也对它进行一点点研究,虽没有入木三分,但这点知识至少可以在大部分Reporting Service的场景中应用。
收藏 0 赞 0 分享

C# 文件上传 默认最大为4M的解决方法

.net中默只能上传小于4m的文件,大于4M将无法显示页面.那么如何设置来使imputfile能上传更大的文件呢
收藏 0 赞 0 分享

asp.net 购物车实现详细代码

asp.net 购物车实现详细代码
收藏 0 赞 0 分享

asp.net repeater实现批量删除时注册多选框id到客户端

repeater批量删除时注册多选框id到客户端的实现代码
收藏 0 赞 0 分享

asp.net aspnetpager分页统计时与实际不符的解决办法

最近分页方面根据实际需要修改了一些函数
收藏 0 赞 0 分享

iis 服务器应用程序不可用的解决方法

访问页面时提示 服务器应用程序不可用,大家可以按照下面的方法重新注册下,应该能好点
收藏 0 赞 0 分享

asp.net button 绑定多个参数

asp.net button 绑定多个参数的代码
收藏 0 赞 0 分享
查看更多