看下addRule的参数,有什么规则,这个应该是你的参数的写错了alert(this.ns + '\\:*');
alert({behavior:url(#default#VML)});看下这两个值,是不是有问题。

解决方案 »

  1.   


    //看半天没想明白,你那个选择器 this.ns 后面的 "\\:*"是撒意思
    stylesheet.addRule(this.ns, 'behavior:url(#default#VML)', -1);stylesheet.insertRule(this.ns + '{behavior:url(#default#VML)}',stylesheet.cssRules.length);
      

  2.   


    我是小白,帮我看看,谢谢if (screenStyleSheet.styleSheet) {
    screenStyleSheet = screenStyleSheet.styleSheet;
    screenStyleSheet.addRule(this.ns + '\\:*', '{behavior:url(#default#VML)}');
    screenStyleSheet.addRule(this.ns + '\\:shape', 'position:absolute;');
    screenStyleSheet.addRule('img.' + this.ns + '_sizeFinder', 'behavior:none; border:none; position:absolute; z-index:-1; top:-10000px; visibility:hidden;'); /* large negative top value for avoiding vertical scrollbars for large images, suggested by James O'Brien, http://www.thanatopsic.org/hendrik/ */
    this.screenStyleSheet = screenStyleSheet;
      

  3.   

    if (screenStyleSheet.styleSheet) {
    screenStyleSheet = screenStyleSheet.styleSheet;
    //暂且不管其他的,你这段代码是非常扯的,你这里改变了整个的对象了。
    //换个名称就不行吗?
    //还有,后面的this代表的什么?你知道this所代表的对象中,是不是有ns这个参数啊。
    //这个你得慢慢看了,我不怎么用这个东西的,所以看不出来哪里出错。