1

我有以下代码在 IE 7 上向我抛出该错误:

if (navigator.appName == 'Microsoft Internet Explorer') {
            var ua = navigator.userAgent;
            var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
            if (re.exec(ua) != null){
              rv = parseFloat( RegExp.$1 );
              if (rv == 7){
                  var contfaltandias = new Element('div');
                    contfaltandias.setAttribute('id', 'contfaltandias');
                    contfaltandias.setAttribute('style', 'display:none; width:100%; height:100%; z-index:1000; background:#003377; position: absolute; top:0;');
                    $('container').insert({
                            before:contfaltandias
                        });
                    new Effect.Parallel([
                                      new Effect.Appear('contfaltandias', { sync: true, duration: 2.0 }), 
                                      new Effect.Highlight('contfaltandias', { sync:true, startcolor: '#ff6000', endcolor: '#ffffff' }) 
                                 ], { 
                                     duration: 5.0,
                                     delay: 0
                                   });
                  }
          }
        }

我发现导致问题的行是这样的:

var contfaltandias = new Element('div');

但为什么?任何帮助,将不胜感激

//这是为了显示一条消息以移动到最新版本,我不是像有人说的那样糟糕的程序员

4

2 回答 2

2

使用var contfaltandias = document.createElement('div'); https://developer.mozilla.org/en/DOM/document.createElement

于 2012-04-04T17:53:56.717 回答
1

据我所知,新元素是使用 document.createElement('type') 创建的。你应该尝试更换

var contfaltandias = new Element('div');

var contfaltandias = document.createElement('div');

然后,它应该工作。

于 2012-04-04T17:56:48.313 回答