使用innerHTML插入样式

今天和晓晓同学遇到了一个问题,我们需要把一段包含 <style> 的html插入到一个dom里面
结果发现

IE对这里的顺序要严格要求。必须先插入html内容然后再插入<style>样式才生效例如

<DIV ID="test"></DIV>
<SCRIPT LANGUAGE="JavaScript">
      document.getElementById("test").innerHTML = "<b>hello!World!!!</b>";
      document.getElementById("test").innerHTML += "<style>b{color:#f00}</style>";
</SCRIPT>

这样test这个div 里就会出现一个红色的 hello!World! 但是如果把<style>放到<b>前头,就被IE无视了。但是FF对这种方式支持得比较好。

当然这样的方式非不得已的情况下,还是不推荐使用,呵呵。

Tags: style

分类:Javascript | 固定链接 | 评论: 19 | 引用: 0 | 查看次数: 16382

你真的了解JavaScript吗?一个测试...

月影大侠提供的测试题目,虽然有些刁钻,但是非常考验熟悉程度

说出它们的值

1、typeof(NaN) 、typeof(Infinity)、typeof(null)、typeof(undefined)
2、NaN == NaN
3、NaN != NaN
4、NaN >= NaN

查看更多...

分类:Javascript | 固定链接 | 评论: 11 | 引用: 0 | 查看次数: 7217

微软终于觉悟了 --- IE ACA 更新是可禁用 " 单击要激活 " 行为

Internet Explorer 自动组件激活 (IE ACA) 更新是可禁用 " 单击要激活 " 行为。哎,总觉得这件事情上感觉微软挺能折腾的。给自己找事,哎。其实这个激活功能不但没有给大多数人带来好处,而且带来了烦恼。不过,微软终于觉悟了。

详情请见: http://support.microsoft.com/kb/945007

查看更多...

分类:Javascript | 固定链接 | 评论: 16 | 引用: 0 | 查看次数: 5326

Dojo Javascript 编程规范

前言

相当不错的 Javascript 编程风格规范,建议大家采用此规范编写 Javascript。原文链接: http://dojotoolkit.org/developer/StyleGuide

翻译(Translated by):feelinglucky{at}gmail.com,转载请注明出处、作者和翻译者,谢谢配合。

本文地址: http://code.google.com/p/grace/wiki/DojoStyle

查看更多...

分类:Javascript | 固定链接 | 评论: 2 | 引用: 0 | 查看次数: 5063

JsDoc Toolkit


    JsDoc Toolkit 是一个把js描述格式化成文档的工具。开发者只需按JsDoc的规范写好注释就可以很方便导出文档。这个JsDoc是Java版本的,用起来方便一些。这也是 google 推荐的 JsDoc 输出工具呵呵。

查看更多...

Tags: JsDoc document Javascript

分类:Javascript | 固定链接 | 评论: 3 | 引用: 0 | 查看次数: 3526

傻呼呼的IE,欺骗IE不出现Flash激活框的小发现

大家都知道欺骗IE不出现Flash激活框的方法很简单 只要在页面上面引入一个js文件,然后用js来控制flash的html代码输出即可。但是如果我们的脚本是动态加载的就会有两种情况,看以下代码

var s = docuemnt.createElement("script");
s.src = src;
docuemnt.getElementsByTagName("head")[0].appendChild(s);


var s = docuemnt.createElement("script");
docuemnt.getElementsByTagName("head")[0].appendChild(s);
s.src = src;


一眼看下去这两断代码执行结果上面差不多。但是有一段代码无法欺骗IE,引入的js输出flash会出现激活框。
(买个关子,感兴趣的朋友思考一下。要知道答案继续看全文哈。)

查看更多...

分类:Javascript | 固定链接 | 评论: 5 | 引用: 0 | 查看次数: 7502

Charset 原来很简单

之前一直都为 script 异步获取数据的charset 烦恼,没想到  <script> 标签居然直接支持 charset 。
我们可以指定 script 的 src来源是何种编码格式的,这样我们可以统一的页面引用多种编码的js文件。

慢慢地放弃一些ajax 回到 script 怀抱

查看更多...

分类:Javascript | 固定链接 | 评论: 13 | 引用: 0 | 查看次数: 6319

Firefox 的 setTimeout 会多一个奇怪的参数...


  <SCRIPT LANGUAGE="JavaScript">
  <!--

    function a(){
        alert(arguments[0])
    }
    setTimeout(a,0)
  //-->
  </SCRIPT>


把这段代码copy到firefox下运行。我们每次都会看到firefox会传一个数值给a() 这个数值和setTimeout的时间有关系。但是有点不清楚firefox的用意是什么 ?????

查看更多...

分类:Javascript | 固定链接 | 评论: 21 | 引用: 0 | 查看次数: 12206

FlashGet 1.8 吃掉了 return false

找了非常久的一个Bug。一直不明白为什么 <a href="javascript:alert();" onclick="return false"></a> 为什么在某些机器上突然失效了,这句话本意是想cancel掉event触发到href的脚本。
结果 alert 出来页面的结果。出问题的机器显示是 <a href="javascript:alert()"></a> 中间的 onclick 不见了

最终查出来的结果发现只要是装了FlashGet1.8的机器都会出现类似的问题。把他反安装就好了。 为了监听下载链接把页面的方法特殊处理,这样做法有点霸道了。

查看更多...

Tags: FlashGet Bug

分类:Javascript | 固定链接 | 评论: 20 | 引用: 0 | 查看次数: 6634

document.compatMode

页面的 document 有个属性可以用来判断 当前页面采用的渲染方式。
document.compatMode 返回值有两个
   BackCompat  -- Standards-compliant mode is not switched on.
    CSS1Compat -- Standards-compliant mode is switched on.

官方说明 http://msdn2.microsoft.com/en-us/library/ms533687.aspx

查看更多...

分类:Javascript | 固定链接 | 评论: 3 | 引用: 0 | 查看次数: 5782