- 浏览: 247797 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (205)
- jQuery (27)
- Flash AS3.0 (0)
- Html5+CSS3 (12)
- C# .Net (19)
- Xml XPath XSLT (5)
- Sql (3)
- JavaScript (20)
- struts2 (23)
- hibernate (24)
- spring (11)
- j2ee (16)
- jsp/java (11)
- 设计模式 (5)
- json (3)
- Java.IO (7)
- Java.Util (7)
- android (8)
- WebService (10)
- MyEclipse SVN (3)
- servlet (1)
- Exception (3)
- 自我学习 (2)
- UML (2)
- java泛型 (1)
- Lucene (7)
- HtmlParser (2)
- 概念理解 (3)
- 正则表达式 (1)
- EMail (1)
最新评论
-
hanmiao:
没用,干巴巴的壹堆代码,没明白到底区别在哪里。
List Set Map 区别! -
e421083458:
偶来过了!
C#单向链表的实现
DynamicLoad.js文件代码如下:
function DynamicLoad()
{
//属性
var Self=this; //对象自身
//功能:加载指定的文件
//参数:src——需要被加载的文件
//返回:(无)
this.Load=function(src)
{
if(Self.IsLoaded(src)) //判断该文件是否已经加载了
{
Self.OnLoaded(src);
return;
}
else //如果没有加载,动态创建
{
var objDynamic; //动态创建的对象
var type=Self.GetSrcType(src); //文件类型
if(type=="js" || type=="vbs")
{
objDynamic=document.createElement("script");
objDynamic.src=src;
if(type=="js")
{
objDynamic.type="text/javascript";
objDynamic.language="javascript";
}
else
{
objDynamic.type="text/vbscript";
objDynamic.language="vbscript";
}
}
else if(type=="css")
{
objDynamic=document.createElement("link");
objDynamic.rel="stylesheet";
objDynamic.type="text/css";
objDynamic.href=src;
}
else
{
Self.OnFailed(src);
return;
}
document.getElementsByTagName("head")[0].appendChild(objDynamic); //将创建的对象插入到HEAD节中
objDynamic.onload=objDynamic.onreadystatechange=function() //加载过程中状态改变引发的事件
{
//在此函数中this指针指的是s结点对象,而不是JsLoader实例,
//所以必须用self来调用onsuccess事件,下同。
if(this.readyState && this.readyState=="loading")
return;
else
Self.OnLoaded(src);
};
objDynamic.onerror=function() //加载过程中发生错误引发的事件
{
document.getElementsByTagName("head")[0].removeChild(objDynamic);
Self.OnFailed(src);
};
}
};
//功能:判断是否已经加载了某文件
//参数:src——需要被检查的文件
//返回:返回是否已经加载了该文件
this.IsLoaded=function(src)
{
var isLoaded=false; //假设没有加载
var type=Self.GetSrcType(src); //得到文件的类型
var i; //用于循环的索引
if(type=="js" || type=="vbs")
{
var scripts=document.getElementsByTagName("script"); //得到所有的脚本对象**
for(i=0;i<scripts.length;i++) //依次判断每个script对象
{
if(scripts[i].src && scripts[i].src.indexOf(src)!=-1)
{
if(scripts[i].readyState=="loaded" || scripts[i].readyState=="complete")
{
isLoaded=true;
break;
}
}
}
}
else if(type=="css")
{
var links=document.getElementsByTagName("link"); //得到所有的link对象**
for(i=0;i<links.length;i++) //依次判断每个link对象
{
if(links[i].href && links[i].href.indexOf(src)!=-1)
{
if(links[i].readyState=="loaded" || links[i].readyState=="complete" || links[i].readyState=="interactive")
{
isLoaded=true;
break;
}
}
}
}
return isLoaded;
};
//功能:得到文件的类型(即扩展名)
//参数:src——文件名
//返回:返回文件的类型
this.GetSrcType=function(src)
{
var type="";
var lastIndex=src.lastIndexOf(".");
if(lastIndex!=-1)
{
type=src.substr(lastIndex+1);
}
return type;
};
//功能:当文件加载完成时发生的事件
//参数:src——加载完成的文件
//返回:(无)
this.OnLoaded=function(src)
{
Self.LoadedCallback(src);
};
//功能:文件加载完成时执行的回调函数
//参数:src——加载完的文件
//返回:(无)
this.LoadedCallback=function(src){};
//功能:当文件加载过程中发生错误时发生的事件
//参数:src——正在加载的文件
//返回:(无)
this.OnFailed=function(src)
{
Self.FailedCallback(src);
};
//功能:当文件加载失败时执行的回调函数
//参数:src——加载失败的文件
//返回:(无)
this.FailedCallback=function(src){};
}
页面代码:
<html>
<body>
<script language="javascript" type="text/javascript" src="DynamicLoad.js"></script>
<script language="javascript" type="text/javascript">
var dl=new DynamicLoad();
function test1()
{
dl.Load("css.css");
}
function test2()
{
dl.Load("Admin_style.css");
}
</script>
<input type="button" class="Button" onclick="test2()" value="submit"/><br/>
<input type="button" class="Button" value="button" onclick="test1()"/><br/>
<a href="">aaa</a>
</body>
</html>
注释:
js文件方法本文件包含了一个名为DynamicLoad的类,该类可以为页面动态加载js、vbs和css文件。
属性: Self——对象自身(该属性为设计时使用,程序中请尽量避免使用该属性。)
方法: Load(src)——加载指定的文件。如果加载成功,引发OnLoaded事件;如果加载失败,引发OnFailed事件。您可以通过重载回调函数LoadedCallback和FailedCallback来执行加载对应的操作。
IsLoaded(src)——判断指定的文件是否已经加载完毕。
GetSrcType(src)——得到文件类型(即扩展名)
LoadedCallback(src)——文件加载成功后执行的回调函数。请重载该方法,以处理加载文件成功之后的操作。
FailedCallback(src)——文件加载失败后执行的回调函数。请重载该方法,以处理加载文件失败之后的操作。
事件: OnLoaded(src)——文件加载成功事件。
OnFailed(src)——文件加载失败事件。
/***************************/
var dl=new DynamicLoad(); //初始化DynamicLoad对象
alert(dl.IsLoaded("DynamicLoad.js")); //判断是否已经加载了文件DynamicLoad.js
dl.Load("HttpCookie.js"); //加载HttpCookie.js
alert(dl.IsLoaded("HttpCookie.js")); //判断是否已经加载了文件HttpCookie.js。加载需要时间,一般情况下这里返回false;如果过一小段时间再判断,很可能返回true。
发表评论
-
JavaScript的一个简单闭包写法
2012-10-31 14:11 1045闭包是将变量隐藏起来,通过入口调用其变量方法一: funct ... -
JS中的事件传播和默认事件取消
2012-10-20 20:50 17186<!DOCTYPE html PUBLIC " ... -
JS事件监听总结
2012-10-20 18:28 1077<!DOCTYPE html PUBLIC " ... -
JS中CSS Style标签对照表
2012-10-18 22:31 830写js时会用到,如果发现自己想要的效果没有实现,而程序没问题的 ... -
脚本化文档DOM总结
2012-10-18 18:32 983脚本化文档DOM 1.选取文档元素 1:docum ... -
脚本化文档DOM之二
2012-10-18 18:27 831<!DOCTYPE html PUBLIC " ... -
脚本化文档DOM之一
2012-10-18 16:59 681<!DOCTYPE html PUBLIC " ... -
类和原型的关系
2012-10-10 16:59 967//类和原型的关系:类的所有实例对象都从同一个原型对象上继承属 ... -
ECMAScript5----定义的一个方法
2012-10-05 23:17 904var as = Object.create({x:1,y:2 ... -
javascript属性检测方法
2012-10-05 23:01 873//属性检测 //in 检测 var o = {x:1}; ... -
关联数组的格式
2012-10-05 22:38 0<script> var arr = { ... -
juqery插件---jAskDialog插件
2012-07-11 16:45 981(function($){ var sVar_G = &q ... -
javascript 创建对象
2012-05-14 11:03 777function Point(lng,lat) { this ... -
jquery 定义插件
2012-03-13 14:12 882$.fn.Poshytip = function (o ... -
jquery--foxibox图片显示插件
2012-02-20 13:43 2073一个实用的jquery插件 -
struts2结合jquery实现异步上传文件
2012-02-16 10:50 739所需配置: jquery.jsajaxfileupload. ... -
javascript的中文转换Native2Ascii桌面版.jar
2011-12-27 13:13 805javascript的中文转换Native2Ascii桌面版 -
把汉字转换成ascii编码
2011-12-26 15:48 985CMD:native2ascii -
jquery插件$(widnow).scrollTop()
2011-10-11 10:21 2394// JavaScript Document $.fn.Sb ... -
javascript 的正则表达式
2011-09-19 12:26 664var tel = document.theForm.tel. ...
相关推荐
JS动态加载CSS 在可换主题的界面中具有很重要的意义,用户可以根据自己的浏览习惯选择自己喜欢的页面显示方式,下面详细说明。 希望下面的方法对你有帮助。 (1)使用JavaScript动态加载Js文件 /*JavaScript动态...
这种方式称为"CSS in JS",它允许我们在JavaScript中编写和管理CSS,增强了CSS的动态性和模块化。 总的来说,"css/js文件模块化组件"的核心理念是将复杂的项目拆分成可管理和可复用的部分,这有助于提升代码的...
在提供的压缩包文件中,`Browes 判断.asp`和`Browes 浏览器判断.asp`可能是用于服务器端进行浏览器检测的ASP文件,而`CheckBr(动态加载Css).js`可能是用于客户端JavaScript动态加载CSS并进行浏览器判断的脚本。...
以下将详细解释如何使用JavaScript实现动态加载CSS,并探讨其应用场景和优化策略。 首先,我们来看一个简单的JavaScript函数,用于动态添加CSS链接到页面头部: ```javascript function addStyle(stylePath) { ...
JavaScript动态加载资源文件是指在页面加载完成后,根据需要从服务器动态加载额外的脚本(js文件)或样式表(css文件)。这种方法可以减少初始页面加载时的资源消耗,提高页面的加载速度。动态加载可以通过两种方式...
在网站开发中,CSS(层叠样式表)、JavaScript和图片(img)是构建动态、交互性和视觉吸引力的网站后台不可或缺的元素。以下是关于这些关键组件的详细解释: **CSS(层叠样式表)** CSS是一种样式语言,用于描述...
// JavaScript Document ;(function($){ $.extend({ includePath: '', include: function(file) { var files = typeof file == "string" ? [file]:file; for (var i = 0; i ; i++) { var name = files[i]...
javascript、css动态加载工具
下面我们将深入探讨如何在Android的WebView中加载和使用JS、CSS以及它们带来的优势。 1. Android WebView加载HTML Android的WebView可以通过调用`loadData()`或`loadDataWithBaseURL()`方法加载HTML字符串,或者...
动态加载CSS和JS文件还可以与其他优化技术结合,如延迟加载(lazy loading)、按需加载(on-demand loading)以及异步加载(async loading),以进一步提高页面性能。同时,需要注意的是,虽然动态加载可以提升用户...
与将CSS文件静态地写死在页面中不同,动态加载CSS允许开发者根据需要在运行时引入额外的样式表,例如,实现按需加载或条件加载等功能。以下总结了一些JavaScript实现动态加载CSS文件的方法。 ### 使用@import加载...
### JavaScript 实现动态导入 JS 与 CSS 等静态资源文件的方法 在现代 Web 开发中,动态地加载脚本和样式表是非常常见的需求。这不仅有助于提高网站性能(例如,按需加载资源),还能增强用户体验(例如,在特定...
现在,我们可以使用`dynamicLoading.css("test.css")`和`dynamicLoading.js("test.js")`来分别动态加载CSS和JavaScript文件。 这种方法的一个优点是兼容性好,可以在各种浏览器中正常工作。然而,需要注意的是,...
使用CSS变量,我们可以用JavaScript动态地改变全局样式。首先在CSS中定义变量: ```css :root { --primary-color: blue; } ``` 然后在JavaScript中修改这些变量: ```javascript document.documentElement.style...
例如,你可以将CSS文件放在"static/css"子目录下,JS文件放在"static/js"子目录,而图片文件则放在"static/img"子目录。 对于CSS(层叠样式表),它是用来控制网页布局和样式的语言。在这个案例中,CSS文件可能包含...
2. **JavaScript延迟加载**:lazyload.js 文件可能是一个实现延迟加载功能的JavaScript库。它通常通过监听滚动事件来判断元素是否进入视口,一旦进入,就立即加载对应的资源。例如,可以使用Intersection Observer ...