高手救命:为啥我加入外部的动态广告后老是出错?说明:这是一个左右浮动的对联广告,原来采用固定的图片是能正常工作,      例如:
      theFloaters.addItem('followDiv1',0,0,'<table width=100 border=0 cellspacing=0 cellpadding=0><tr><td height=100>&nbsp;</td></tr><tr><td height=240 align=center><a href="http://kf.sm160.com/Product/Introduce.aspx" target=_blank><img src=/images/Advert/KFT_LEFT_01.gif border=0 width=100 height=372></a></td></tr><tr><td height=20 align=center></td></tr><tr><td align=center></td></tr></table>');      改为引用外部广告:
      theFloaters.addItem('followDiv1','document.documentElement.clientWidth-100',0,'<table width=100 border=0 cellspacing=0 cellpadding=0><tr><td height=100>&nbsp;</td></tr><tr><td height=240 align=center><script language="javascript" src="http://info.sm160.com/jsfiles/ads/show.aspx?adsID=242779211198739"></script></td></tr><tr><td height=20 align=center></td></tr><tr><td align=left> </td></tr></table>');      单独测试外部广告正常:
      <script language="javascript" src="http://info.sm160.com/jsfiles/ads/show.aspx?adsID=242779211198739"></script>      上面外部广告脚本实际上输出的是:
      document.write('<script language="javascript" src="http://info.sm160.com/jsfiles/ads/174615692047/242779211198739.js"></script>');
难道是加入的参数不能包括脚本代码?有没有解救的办法?

解决方案 »

  1.   

    完整代码如下:
    <script>
        var delta = 0.8;
        var collection;
        var closeB = false;    function floaters() {
            this.items = [];
            this.addItem = function(id, x, y, content) {
                document.write('<DIV id=' + id + ' style="Z-INDEX: 10; POSITION: absolute;  width:80px; height:60px;left:' + (typeof (x) == 'string' ? eval(x) : x) + ';top:' + (typeof (y) == 'string' ? eval(y) : y) + '">' + content + '</DIV>');            var newItem = {};
                newItem.object = document.getElementById(id);
                newItem.x = x;
                newItem.y = y - 20;            this.items[this.items.length] = newItem;
            }
            this.play = function() {
                collection = this.items
                setInterval('play()', 30);
            }
        }    function play() {
            if (screen.width <= 800 || closeB) {
                for (var i = 0; i < collection.length; i++) {
                    collection[i].object.style.display = 'none';
                }
                return;
            }
            for (var i = 0; i < collection.length; i++) {
                var followObj = collection[i].object;
                var followObj_x = (typeof (collection[i].x) == 'string' ? eval(collection[i].x) : collection[i].x);
                var followObj_y = (typeof (collection[i].y) == 'string' ? eval(collection[i].y) : collection[i].y);            if (followObj.offsetLeft != (document.documentElement.scrollLeft + followObj_x)) {
                    var dx = (document.documentElement.scrollLeft + followObj_x - followObj.offsetLeft) * delta;
                    dx = (dx > 0 ? 1 : -1) * Math.ceil(Math.abs(dx));
                    followObj.style.left = followObj.offsetLeft + dx;
                }            if (followObj.offsetTop != (document.documentElement.scrollTop + followObj_y)) {
                    var dy = (document.documentElement.scrollTop + followObj_y - followObj.offsetTop) * delta;
                    dy = (dy > 0 ? 1 : -1) * Math.ceil(Math.abs(dy));
                    followObj.style.top = followObj.offsetTop + dy;
                }
                followObj.style.display = '';
            }
        }    function closeBanner() {
            closeB = true;
            return;
        }    var theFloaters = new floaters();    // 加入外部的摩天楼广告
      //theFloaters.addItem('followDiv1','document.documentElement.clientWidth-100',0,'<table width=100 border=0 cellspacing=0 cellpadding=0><tr><td height=100>&nbsp;</td></tr><tr><td height=240 align=center><script language="javascript" src="http://info.sm160.com/jsfiles/ads/show.aspx?adsID=242779211198739"></script></td></tr><tr><td height=20 align=center></td></tr><tr><td align=left> </td></tr></table>');
      theFloaters.addItem('followDiv2',0,0,'<table width=100 border=0 cellspacing=0 cellpadding=0><tr><td height=100>&nbsp;</td></tr><tr><td height=240 align=center><a href="http://kf.sm160.com/Product/Introduce.aspx" target=_blank><img src=/images/Advert/KFT_LEFT_01.gif border=0 width=100 height=372></a></td></tr><tr><td height=20 align=center></td></tr><tr><td align=center></td></tr></table>');
      // 浮动广告播放
      theFloaters.play();
      
    </script>