本站使用了部分alimama的广告,因为不想在html中直接显示调用的代码,所以另写了个js文件用于在显示处调用,如:
页面:
...
<td><script src="/adcall.js" type=text/javascript></script></td>
...adcall.js:
alimama_pid="mm_10653905_728529_2095357"; 
alimama_titlecolor="707070"; 
alimama_descolor ="898989"; 
alimama_bgcolor="FFFFFF"; 
alimama_bordercolor="FCECD6"; 
alimama_linkcolor="008000"; 
alimama_bottomcolor="FFFFFF"; 
alimama_anglesize="0"; 
alimama_bgpic="0"; 
alimama_icon="0"; 
alimama_sizecode="35"; 
alimama_width=200; 
alimama_height=200; 
alimama_type=2; 
document.write ("<script src=\'http://a.alimama.cn/inf.js\'></script>");这样是可以正常显示的.现在想把htm页的代码改成
...
<td><div id="ad1"></div></td>
...
<script src='/call.js'></script>ad1就是要显示广告的位置
请问:call.js中的内容应该怎么写,该如何把原来的adcall.js的内容调用或写进去??

解决方案 »

  1.   


    document.getElementById("ad1").innerHTML="<script src='http://a.alimama.cn/inf.js'></script>")";
      

  2.   

    <td> <div id="ad1"><script src='/call.js'> </script></div> </td> 
     
      

  3.   

    把adcall.js改写: 
    alimama_pid="mm_10653905_728529_2095357";  
    alimama_titlecolor="707070";  
    alimama_descolor ="898989";  
    alimama_bgcolor="FFFFFF";  
    alimama_bordercolor="FCECD6";  
    alimama_linkcolor="008000";  
    alimama_bottomcolor="FFFFFF";  
    alimama_anglesize="0";  
    alimama_bgpic="0";  
    alimama_icon="0";  
    alimama_sizecode="35";  
    alimama_width=200;  
    alimama_height=200;  
    alimama_type=2;  
    document.getElementById("ad1").innerHTML="\<script src\='http://a.alimama.cn/inf.js'\>\<\/script\>")";
      

  4.   

    2楼的方法没说明该代码写在哪里,其他的怎么处理,3楼的没看清楚我的意思,div里不包含 <script>是独立的<div></div>
    4楼的方法我试过,不成功.
      

  5.   

    根据你的问题,我简单做了一个试验:
    (1)test.htm :
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>无标题页</title>
    </head>
    <body>
    <div id="mydiv"></div>
    <script src ="test.js"></script>
    </body>
    </html>(2) test.js :
    var myname = "hello";
    var script1 = document.createElement("script");
    script1.src = "test1.js";
    document.getElementById("mydiv").appendChild(script1);(3) test1.js :
    document.getElementById("mydiv").innerHTML = myname;运行test.htm 后在mydiv中显示 hello,ie 和 ff 均可。因此,你的大概可以这样:
    <td> <div id="ad1"> </div> </td><script src='/call.js'> </script>call.js :alimama_pid="mm_10653905_728529_2095357";  
    alimama_titlecolor="707070";  
    alimama_descolor ="898989";  
    alimama_bgcolor="FFFFFF";  
    alimama_bordercolor="FCECD6";  
    alimama_linkcolor="008000";  
    alimama_bottomcolor="FFFFFF";  
    alimama_anglesize="0";  
    alimama_bgpic="0";  
    alimama_icon="0";  
    alimama_sizecode="35";  
    alimama_width=200;  
    alimama_height=200;  
    alimama_type=2;  var scrip1 = document.createElement("script");
    scrip1.src = "http://a.alimama.cn/inf.js";
    document.getElementById("ad1").appendChild(scrip1);因为http://a.alimama.cn 可能是不对的,我这里无法验证,你可以试一试,并告知结果!
      

  6.   

    call.js:
    //里面写一句就可以.
    document.write (" <script src=/adcall.js\'> </script>"); 
      

  7.   

    document.write ("  <script src=/adcall.js\'>  </script>"); 
      

  8.   

    上面的不对.
    这个可以:
    ... 
    <td> <div id="ad1"> </div> </td> 
    ... <div id="mytemp" style="display:none"><script src="/adcall.js" type=text/javascript> </script></div>
    <script src='/call.js'> </script> call.js
    --------------------------------
    document.getElementById("ad1").innerHTML = document.getElementById("mytemp").innerHTML;
      

  9.   

    call.js:
    //里面写一句就可以.
    document.write ("  <script src=/adcall.js\'>  </script>"); =========
    楼上试试这个方法
      

  10.   

    document.write ("   <script src=/adcall.js\'>   </script>"); 
    这样是肯定不行的:这样的话即使显示出来了,也不在我要定义的<div id="ad1"></div>的区块里.
      

  11.   

    whwqs:
    非常感谢您的回答.我要的就是您这样简洁的代码和用法.
    经过验证,广告是可以出来的,但有个问题,原来应该在<td>里显示的广告层为什么不在我指定的位置,跑到页面最左上角了?
      

  12.   

    我将后面改成
    var scrip1 = document.createElement("script"); 
    scrip1.src = "http://a.alimama.cn/inf.js"; 
    document.getElementById("newscenter").style.position='relative';
    document.getElementById("ad1").appendChild(scrip1); 可是这样层依然在左上角,发现网页读取慢的时候又不在左上,跑到其他地方了.怎么能让广告显示在ad1所在的<td>内,我不想写成<div id="ad1" style=....></div>,不想加style,哪怕加在call.js里都行.
      

  13.   

     <div id="ad1"></div>
    <script defer="defer">
    alimama_pid="mm_10653905_728529_2095357";   
    alimama_titlecolor="707070";   
    alimama_descolor ="898989";   
    alimama_bgcolor="FFFFFF";   
    alimama_bordercolor="FCECD6";   
    alimama_linkcolor="008000";   
    alimama_bottomcolor="FFFFFF";   
    alimama_anglesize="0";   
    alimama_bgpic="0";   
    alimama_icon="0";   
    alimama_sizecode="35";   
    alimama_width=200;   
    alimama_height=200;   
    alimama_type=2;   
    document.getElementById('ad1').innerHTML="\<\script src\='http://a.alimama.cn/inf.js'\>\<\/script\>";</script>
    这个不对???
      

  14.   

    chinmo:
    您这样写是可以的,但我在题中要的是
    <div id="ad1"> </div> 
    <script src="/call.js"></script>
    这样的格式因此,所有处理都在call.js里面.
      

  15.   

    call.js : alimama_pid="mm_10653905_728529_2095357";   
    alimama_titlecolor="707070";   
    alimama_descolor ="898989";   
    alimama_bgcolor="FFFFFF";   
    alimama_bordercolor="FCECD6";   
    alimama_linkcolor="008000";   
    alimama_bottomcolor="FFFFFF";   
    alimama_anglesize="0";   
    alimama_bgpic="0";   
    alimama_icon="0";   
    alimama_sizecode="35";   
    alimama_width=200;   
    alimama_height=200;   
    alimama_type=2;   var scrip1 = document.createElement("script"); 
    scrip1.src = "http://a.alimama.cn/inf.js"; var div = document.getElementById("ad1"); 
    div.style.position = "absolute";
    div.appendChild(scrip1);这样试一试。
      

  16.   

    一样的
    把alimama_pid="mm_10653905_728529_2095357";    
    alimama_titlecolor="707070";    
    alimama_descolor ="898989";    
    alimama_bgcolor="FFFFFF";    
    alimama_bordercolor="FCECD6";    
    alimama_linkcolor="008000";    
    alimama_bottomcolor="FFFFFF";    
    alimama_anglesize="0";    
    alimama_bgpic="0";    
    alimama_icon="0";    
    alimama_sizecode="35";    
    alimama_width=200;    
    alimama_height=200;    
    alimama_type=2;    
    document.getElementById('ad1').innerHTML="\ <\script src\='http://a.alimama.cn/inf.js'\>\ <\/script\>"; 
    放在call.js里
    然后使用<script defer="defer"  src="/call.js"> </script> > 
      

  17.   

    之前不能显示是因为这段js与html同步进行了,获取不到div的id所以出错,你加一个defer="defer"加载完后再执行这JS那就可以获取id了
      

  18.   

    谢谢大家,可是仍然解决不了位置的问题,请高手访问以下地址查看效果:
    http://www.xclove.com/newscenter.htm当我加了defer以后,反而提示document.getElementById找不到对象了...附JS文件代码:
    alimama_pid="mm_10653905_728529_2095357"; 
    alimama_titlecolor="707070"; 
    alimama_descolor ="898989"; 
    alimama_bgcolor="FFFFFF"; 
    alimama_bordercolor="FCECD6"; 
    alimama_linkcolor="008000"; 
    alimama_bottomcolor="FFFFFF"; 
    alimama_anglesize="0"; 
    alimama_bgpic="0"; 
    alimama_icon="0"; 
    alimama_sizecode="35"; 
    alimama_width=200; 
    alimama_height=200; 
    alimama_type=2; var scrip1 = document.createElement("script"); 
    scrip1.src = "http://a.alimama.cn/inf.js";
    var divs = document.getElementById("newscenter");  
    divs.style.position='absolute'; //relative
    divs.appendChild(scrip1); 
      

  19.   

    依现在的效果,广告是可以出来的,但显示的位置不对,不在定义需显示的<td></td>内.newscenter.htm:
    <table width=778 align=center border=1>
    <tr><td height="200" colspan=2>111</td></tr>
    <tr><td width=200>222</td>
    <td><div id="newscenter"></div>这里是应该显示广告的位置</td></tr>
    </table>
    <script src="/callad/xclove/t.js"></script>t.js:
    alimama_pid="mm_10653905_728529_2095357";  
    alimama_titlecolor="707070";  
    alimama_descolor ="898989";  
    alimama_bgcolor="FFFFFF";  
    alimama_bordercolor="FCECD6";  
    alimama_linkcolor="008000";  
    alimama_bottomcolor="FFFFFF";  
    alimama_anglesize="0";  
    alimama_bgpic="0";  
    alimama_icon="0";  
    alimama_sizecode="35";  
    alimama_width=200;  
    alimama_height=200;  
    alimama_type=2;  var scrip1 = document.createElement("script");  
    scrip1.src = "http://a.alimama.cn/inf.js"; 
    var divs = document.getElementById("newscenter");   
    divs.style.position='absolute'; //relative 
    divs.appendChild(scrip1); 
      

  20.   

    不显示在那里是正常的
    <table width=778 align=center border=1> 
    <tr> <td height="200" colspan=2>111 </td> </tr> 
    <tr> <td width=200>222 </td> 
    <td> <div id="newscenter"><script src="/callad/xclove/t.js"> </script></div>这里是应该显示广告的位置 </td> </tr> 
    </table> 
    放在这里应该就好了
      

  21.   

    chinmo:
    十分感谢您耐心的答复<script src="/callad/xclove/t.js">  </script>
    该JS就是想单独控制每页的广告,会写在每页的足部包含文件中,因此,调用位置只能写在页尾...难道这样的需求是没法实现的吗,如果是,是什么原因,请详解.多谢.
      

  22.   

    没办法实现我借在另外一个帖子上我发的例子,在这里给你发,你测试一下就完全明白为什么了
    <HTML>  
    <HEAD>  
    </HEAD>  
    <BODY>  
    <h2 style="background:#FF0000">自然就是美  </h2>  <SCRIPT>  
    document.getElementsByTagName("H2")(0).innerHTML=" <br>\ <script  defer\>document.write('111') \ <\/scr"+"ipt\>" 
    </SCRIPT>  
    <script defer="defer"> 
    alert(''+document.getElementsByTagName("H2")(0).innertext+'') 
    </script> 
    </BODY>  
    </HTML> 
      

  23.   

    是的,效果我是明白的,可就是想不明白为什么不能实现?为什么innerHTML是调用script的时候就是不行,如果直接改变innerHTML就可以?
      

  24.   

    呵呵,你没发现
    <script defer="defer">  
    alert(''+document.getElementsByTagName("H2")(0).innertext+'')  
    </script> 
    已经找不到document.getElementsByTagName("H2")(0).innertext?弹出的是undefined
      

  25.   

    <HTML> 
    <HEAD> 
    </HEAD> 
    <BODY> 
    <h2 style="background:#FF0000">自然就是美 </h2> <SCRIPT> 
    document.getElementsByTagName("H2")(0).innerHTML="<br>\<script  defer\>document.write('111') \<\/scr"+"ipt\>"
    //document.getElementsByTagName("H2")(0).innerHTML="aaaa"
    </SCRIPT> 
    <script defer="defer">
    var a=document.getElementsByTagName("H2")(0).innerHTML
    alert(''+a+'')
    </script>
    </BODY> 
    </HTML> 
    那个是我写错了,你看下这个
      

  26.   

    其实document.getElementsByTagName("H2")(0).innerHTML="<br>\<script  defer\>document.write('111') \<\/scr"+"ipt\>"
    是已经赋值了
      

  27.   

    <HTML> 
    <HEAD> 
    </HEAD> 
    <BODY> 
    <h2 style="background:#FF0000">自然就是美 </h2> <SCRIPT> 
    document.getElementsByTagName("H2")(0).innerHTML="<br>\<script  defer\>document.getElementsByTagName('H2')(0).innerHTML='aa'; \<\/scr"+"ipt\>"
    </SCRIPT> 
    <script defer="defer">
    var a=document.getElementsByTagName("H2")(0).innerHTML
    alert(''+a+'')
    </script>
    </BODY> 
    </HTML> 
    如果是这样的话
    那就,那就没问题
      

  28.   

    是的,我看到了,意思是虽然写进去了,但实际却是读不到值的吗?
    那只能在每个要调用的地方分别写script src=...了吗?
    如果一个页有多处调用,能否写成script src=t.js?id=xx的方式?怎么获取这个id?
      

  29.   

    然后再看下这个例子<HTML> 
    <HEAD> 
    </HEAD> 
    <BODY> 
    <h2 style="background:#FF0000">自然就是美<SCRIPT> 
    document.getElementsByTagName("H2")(0).innerHTML="<br>\<script  defer\>document.write('111') \<\/scr"+"ipt\>"
    //document.getElementsByTagName("H2")(0).innerHTML="aaaa"
    </SCRIPT> </h2> 
    <script defer="defer">
    var a=document.getElementsByTagName("H2")(0).innerHTML
    alert(''+a+'')
    </script>
    </BODY> 
    </HTML> 
      

  30.   

    加一句:
    alimama_containerid="newscenter";即:alimama_pid="mm_10653905_728529_2095357"; 
    alimama_titlecolor="707070"; 
    alimama_descolor ="898989"; 
    alimama_bgcolor="FFFFFF"; 
    alimama_bordercolor="FCECD6"; 
    alimama_linkcolor="008000"; 
    alimama_bottomcolor="FFFFFF"; 
    alimama_anglesize="0"; 
    alimama_bgpic="0"; 
    alimama_icon="0"; 
    alimama_sizecode="35"; 
    alimama_width=200; 
    alimama_height=200; 
    alimama_type=2; alimama_containerid="newscenter";var scrip1 = document.createElement("script"); 
    scrip1.src = "http://a.alimama.cn/inf.js";
    var divs = document.getElementById("newscenter");  
    divs.style.position='absolute';
    divs.appendChild(scrip1); 
      

  31.   

    就只看了主题eval(代码)
    div.innerHTML(代码)需要两部,收工,睡觉。