随笔-Javascript实现import动态导入文件方法及其切换
来源:互联网 发布:教育机构软件 编辑:程序博客网 时间:2024/06/01 19:58
//============================动态导入js或css文件===================================
var JCore = {//构造核心对象
version:1.0,
$import:function(importFile){
var file = importFile.toString();
var IsRelativePath = (file.indexOf("$")==0 ||file.indexOf("/")==-1);//相对路径(相对于JCore)
var path=file;
if(IsRelativePath){//计算路径,$开头表示使用当前脚本路径,/开头则是完整路径
if(file.indexOf("$")==0) file = file.substr(1);
path = JCore.$dir+file; }
var newElement=null,i=0; var ext = path.substr(path.lastIndexOf(".")+1);
if(ext.toLowerCase()=="js"){
var scriptTags = document.getElementsByTagName("script");
for(var i=0;i<scriptTags.length;i++) { if(scriptTags[i].src && scriptTags[i].src.indexOf(path)!=-1) return; }
newElement=document.createElement("script"); newElement.type="text/javascript"; newElement.src=path;
}
else if(ext.toLowerCase()=="css"){
var linkTags = document.getElementsByTagName("link");
for(var i=0;i<linkTags.length;i++) { if(linkTags[i].href && linkTags[i].href.indexOf(path)!=-1) return; }
newElement=document.createElement("link"); newElement.type="text/css"; newElement.rel="Stylesheet"; newElement.href=path;
}
else return;
var head=document.getElementsByTagName("head")[0];
head.appendChild(newElement); },
$dir : function(){ var scriptTags = document.getElementsByTagName("script");
for(var i=0;i<scriptTags.length;i++) { if(scriptTags[i].src && scriptTags[i].src.match(/JCore/.js$/)) { path = scriptTags[i].src.replace(/JCore/.js$/,""); return path; } }
return ""; }()
}
//=============================动态导入js或css文件结束=============================
//=============================动态生成切换样式及脚本控件=============================
function dynamicChangeJsAndCss()
{
//-------------------动态创建漂浮层-------------
var div = document.createElement("dynamicChangeJsAndCss");//添加新的div
div.className = "dynamicChangeJsAndCss";
div.id = 'dynamicChangeJsAndCss';
div.style.position="absolute";
div.style.left="80%";
div.style.top="10%";
window.document.body.appendChild(div);
//div中的子控件
var div_Code="";
div_Code+="<table style='width:100%;height:100%; border='0' cellpadding='0' cellspacing='0'><tr><td><div id='changeJsAddCss' class='changeJsAddCss' onclick='Btn_changeJsAddCssClick()' >自定义样式</div></td></tr><tr><td><div id='changeJsAddCssExample' style='height:50px;width:200px;'></div></td></tr></table>";
div.innerHTML=div_Code;
}
function Btn_changeJsAddCssClick()
{
if($("changeJsAddCssExample").innerHTML ==null || $("changeJsAddCssExample").innerHTML =="")
{
var div_Code="";
div_Code+="<table style='width:100%;height:100%;background-Color:white; ' border='0' cellpadding='0' cellspacing='0'><tr><td><div class='changeJsAddCssExample' onclick='ChangeSelectCss(/"style_Ft09_Login.css/");' >默认样式</div></td></tr>";
div_Code+="<tr><td><div class='changeJsAddCssExample' onclick='ChangeSelectCss(/"changeStyle_ceshi.css/")' >底比斯之水</div></td></tr></table>";
$("changeJsAddCssExample").innerHTML=div_Code;
}
else
{
$("changeJsAddCssExample").innerHTML="";
}
}
//切换样式,当选中一种样式时,选中的要添加,没有选中的如果存在则要删除
function ChangeSelectCss(CssName)
{
var linkTags = document.getElementsByTagName("link");
//这里找到所有切换的样式文件,如果这些样式文件已添加到页面中,则删除该导入样式
for(var i=0;i<linkTags.length;i++)
{
if(linkTags[i].href && linkTags[i].href.indexOf("changeStyle")!=-1)
{
var head=document.getElementsByTagName("head")[0];
head.removeChild(linkTags[i]);
}
}
JCore.$import("$../../resources/CommonCss/"+CssName);
}
//=============================动态生成切换样式及脚本控件结束===============================
- 随笔-Javascript实现import动态导入文件方法及其切换
- Javascript实现import动态导入文件方法
- Javascript实现import动态导入文件方法
- Javascript实现import动态导入文件方法
- CSS文件的导入方法即“@import url”
- 用javascript实现动态切换模块
- javascript实现css主题样式切换;动态改变引入的css文件;
- Jquery实现动态切换图片的方法
- jquery动态加载javascript文件的方法
- javascript弹出窗口实现动态文件上传
- JavaScript基础随笔 pop()方法
- phpmyadmin导入import文件限制的解决方法
- phpmyadmin导入(import)文件限制的解决办法
- phpmyadmin导入(import)文件限制的解决办法
- Java Import File (导入Excel文件)
- Sass文件的导入import和Partials
- python使用import导入文件夹中的文件
- Python 使用import导入模块或者方法
- 程序添加系统级热键
- 32位机vmware虚拟机安装64位操作系统
- printf如何读入浮点数
- Google 排名中的 10 个最著名的 JavaScript 库
- 搭建开发环境(1)—— Virtual PC
- 随笔-Javascript实现import动态导入文件方法及其切换
- 问题
- 嵌入式程序员应知道的基本问题
- Sql Server每日一练-可更新视图(Updateble views)
- Sql Server每日一练-怎样才能限制SQL Server只能让指定的机器连接
- ScriptX.cab与Smsx.cab打印代码
- Sql Server每日一练-连接-Connections
- Sql Server每日一练-ASP访问数据库的几种方式
- 属于自己的世界