博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web 调试,兼容浏览器的在线调试(系列)
阅读量:6095 次
发布时间:2019-06-20

本文共 2296 字,大约阅读时间需要 7 分钟。

  1. javascript 动态在html 中插入 css 样式
  2. javascript 动态在html 中插入 代码
上面所指的动态插入不是引入 某个.css,.js 的文件

 

1.动态插入css代码 
function loadStyleByString(css) {
    
var style = document.createElement("style");
    style.type = "text/css";
    
try {
                
//
在Firefox、Safrai、Chrome和Opera中运行,在IE中则会报错,IE将<style>视为一个特殊的、与<script>类似的节点,不允许访问其子节点。事实上,IE此时抛出的错误与向<script>元素添加子节点时抛出的错误相同。解决IE中的这个问题的办法,就是访问元素的styleSheet属性,该属性又有一个cssText属性,可以接受CSS代码
        style.appendChild(document.createTextNode(css));
    } 
catch (ex) {
                
//
ie 系列 ,
        style.styleSheet.cssText = css;
    }
    
var head = document.getElementsByTagName("head")[0];
    head.appendChild(style); 

 

2.动态插入 javascript 代码

 function loadScriptByString(script){    

    
var g = document.createElement('script');
    
var s = document.getElementsByTagName('head')[0];
    g.text =script;
    s.parentNode.insertBefore(g, s);
}

 

工作这么久自己整理的一些常用代码(不是自己写的),感觉还挺好用的,准备弄个WEB调试小工具,javascript的不用安装什么插件即可,Firefox,Chrome,里面的调试功能非常强悍了

 

 

附上一个动态引入 js,css文件在代码

调用方法 

js - MiniSite.JsLoader.load('xx.js',function(){alert('js加载完成')});  

css -  MiniSite.CssLoader('xx.css');

MiniSite = 
new Object();
MiniSite.Browser = {
  ie: /msie/.test(window.navigator.userAgent.toLowerCase()),
  moz: /gecko/.test(window.navigator.userAgent.toLowerCase()),
  opera: /opera/.test(window.navigator.userAgent.toLowerCase()),
  safari: /safari/.test(window.navigator.userAgent.toLowerCase())
};
MiniSite.JsLoader = {
  load: 
function (sUrl, fCallback) {
    
var _script = document.createElement("script");
    
var charbt = "utf-8";
    
if (arguments[2]) {
      charbt = arguments[2]
    }
    _script.setAttribute("charset", charbt);
    _script.setAttribute("type", "text/javascript");
    _script.setAttribute("src", sUrl);
    document.getElementsByTagName("head")[0].appendChild(_script);
    
if (MiniSite.Browser.ie) {
      _script.onreadystatechange = 
function () {
        
if (
this.readyState == "loaded" || 
this.readyState == "complete") {
          fCallback();
        }
      };
    } 
else 
if (MiniSite.Browser.moz) {
      _script.onload = 
function () {
        fCallback();
      };
    } 
else {
      fCallback();
    }
  }
};
MiniSite.CssLoader = 
function (sUrl) {
  
var _css = document.createElement("link");
  _css.setAttribute("rel", "stylesheet");
  _css.setAttribute("charset", "utf-8");
  _css.setAttribute("type", "text/css");
  _css.setAttribute("href", sUrl);
  document.getElementsByTagName("head")[0].appendChild(_css);

}; 

 

转载于:https://www.cnblogs.com/qq419524837/archive/2012/09/13/2683551.html

你可能感兴趣的文章
while()
查看>>
常用限制input的方法
查看>>
Ext Js简单事件处理和对象作用域
查看>>
IIS7下使用urlrewriter.dll配置
查看>>
12.通过微信小程序端访问企查查(采集工商信息)
查看>>
WinXp 开机登录密码
查看>>
POJ 1001 Exponentiation
查看>>
HDU 4377 Sub Sequence[串构造]
查看>>
云时代架构阅读笔记之四
查看>>
WEB请求处理一:浏览器请求发起处理
查看>>
Lua学习笔记(8): 元表
查看>>
PHP经典算法题
查看>>
LeetCode 404 Sum of Left Leaves
查看>>
醋泡大蒜有什么功效
查看>>
hdu 5115(2014北京—dp)
查看>>
数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)...
查看>>
PHP读取日志里数据方法理解
查看>>
第五十七篇、AVAssetReader和AVAssetWrite 对视频进行编码
查看>>
Vivado增量式编译
查看>>
一个很好的幻灯片效果的jquery插件--kinMaxShow
查看>>