标题: FAQ:JS如何在ECShop中使用?
xc
ECShop 热心侠
Rank: 6Rank: 6



UID 541
精华 0
积分 70
帖子 110
体力 5 点
钻石 0 颗
贡献 0
阅读权限 10
注册 2006-9-6
状态 离线
发表于 2006-10-13 09:25  资料  个人空间  短消息  加为好友 
FAQ:JS如何在ECShop中使用?

有一个菜单效果是由HTML代码和JS代码组成的,准备放到首页和内容页用,以前在别的程序都使用过,像动易、领智、风讯、E商务的Medi等等都很好用,就是放到一个普通的HTML静态页面也一样正常使用,可就是放到ECShop中无法正常使用,请问管理员是什么原因,以下是菜单效果的代码和在ECShop中测试使用的几种方法

一、菜单效果的代码(CSS代码没贴)
<script language="javascript">
function switchTag(tag,content)
{
//        alert(tag);
//        alert(content);
        for(i=1; i <6; i++)
        {
                if ("tag"+i==tag)
                {
                        document.getElementById(tag).getElementsByTagName("a")[0].className="selectli"+i;
                        document.getElementById(tag).getElementsByTagName("a")[0].getElementsByTagName("span")[0].className="selectspan"+i;
                }else{
                        document.getElementById("tag"+i).getElementsByTagName("a")[0].className="";
                        document.getElementById("tag"+i).getElementsByTagName("a")[0].getElementsByTagName("span")[0].className="";
                }
                if ("content"+i==content)
                {
                        document.getElementById(content).className="";
                }else{
                        document.getElementById("content"+i).className="hidecontent";
                }
                document.getElementById("content").className=content;
        }
}
</script>

<div id="container">
  <div id="title">
    <ul>
      <li id="tag1"><a href="#" onclick="switchTag('tag1','content1');this.blur();" class="selectli1"><span class="selectspan1">首页</span></a></li>
      <li id="tag2"><a href="#" onclick="switchTag('tag2','content2');this.blur();"><span>下载中心</span></a></li>
      <li id="tag3"><a href="#" onclick="switchTag('tag3','content3');this.blur();"><span>产品介绍</span></a></li>
      <li id="tag4"><a href="#" onclick="switchTag('tag4','content4');this.blur();"><span>会员注册与登录</span></a></li>
      <li id="tag5"><a href="#" onclick="switchTag('tag5','content5');this.blur();"><span>联系我们</span></a></li>
    </ul>
  </div>
<div id="content" class="content1">
  <div id="content1"><p>仿淘宝网站的导航效果。此方法有几个优点:</p>1、根据字数自适应项目长度</div>       
  <div id="content2" class="hidecontent">2、不同的项目使用不同的颜色来区分</div>
  <div id="content3" class="hidecontent">3、这回需要使用到js了,呵呵</div>
  <div id="content4" class="hidecontent">4、背景图片只需要两个图片文件就足够,减少服务器负担</div>
  <div id="content5" class="hidecontent">5、这是使用到的两个图片:
         <table width="58%" border="1" cellspacing="2" cellpadding="0">
           <tr>
             <td width="70%" align="center"><img src="upload/2006981132247255.gif" width="250" height="290" /></td>
             <td width="30%" align="center"><img src="upload/20069811321034000.gif" width="15" height="290" /></td>
           </tr>
         </table>
  </div>
</div>  

</div>

二、在ECShop中测试使用的几种方法
1、把整个的代码(包括JS和HTML代码)放到了index.dwt模板相应的位置,结果预览首页时只出现以下代码:
Fatal error: Smarty error: [in index.html line 45]: syntax error: unrecognized tag: // alert(tag); // alert(content); for(i=1; i <7; i++) { if ("tag"+i==tag) { document.getElementById(tag).getElementsByTagName("a")[0].className="selectli"+i; document.getElementById(tag).getElementsByTagName("a")[0].getElementsByTagName("span")[0].className="selectspan"+i; (Smarty_Compiler.class.php, line 439) in F:\ecshop\includes\smarty\Smarty.class.php on line 1095
2、把JS代码放到了<head></head>之间,HTML代码还放在了模板原来的位置,结果跟第一种方法相同
3、把js代码存成了一个JS文件这样<scritpt type="text/javascript" src="themes/default/***.js"><script>在<head></head>之间调用,HTML代码还放在了模板原来的位置,结果预览首页时页面的左下角虽然有“网页上有错误”的提示但还是可以正常显示,可就是js所控制的动作不起作用了

在群里有说JS和SMARTY是有冲突的,不能把JS代码直接写到模板文件里,要存成JS文件调用,不知道是否正确,而且我也把js代码存成了一个JS文件调用了,也许是我调用的方法不对,请管理员指点迷津,谢谢!

顶部
weberliu
管理员
Rank: 9Rank: 9Rank: 9


UID 9
精华 2
积分 1673
帖子 2348
体力 96 点
钻石 0 颗
贡献 201
阅读权限 200
注册 2006-6-16
状态 离线
发表于 2006-10-13 10:27  资料  个人空间  短消息  加为好友 
把script套在{literal}{/literal}之间试试看,例如:

{literal}
<script type="text/javascript">
....
</script>
{/literal}


顶部
卖否姊妹站—买否(商品搜索)公开测试
xc
ECShop 热心侠
Rank: 6Rank: 6



UID 541
精华 0
积分 70
帖子 110
体力 5 点
钻石 0 颗
贡献 0
阅读权限 10
注册 2006-9-6
状态 离线
发表于 2006-10-13 10:45  资料  个人空间  短消息  加为好友 
OK!
十分感谢weberliu!
为什么JS代码放到 {literal} {/literal} 之间就可以了呢

顶部
weberliu
管理员
Rank: 9Rank: 9Rank: 9


UID 9
精华 2
积分 1673
帖子 2348
体力 96 点
钻石 0 颗
贡献 201
阅读权限 200
注册 2006-6-16
状态 离线
发表于 2006-10-13 10:52  资料  个人空间  短消息  加为好友 
前面的错误是因为花括号({)和smarty冲突了,在smarty里面将{literal}之间的代码不进行解析

顶部
xc
ECShop 热心侠
Rank: 6Rank: 6



UID 541
精华 0
积分 70
帖子 110
体力 5 点
钻石 0 颗
贡献 0
阅读权限 10
注册 2006-9-6
状态 离线
发表于 2006-10-13 11:30  资料  个人空间  短消息  加为好友 
明白了,很清楚,感谢weberliu!

顶部
echoway
EC新手
Rank: 1



UID 7344
精华 0
积分 25
帖子 25
体力 4 点
钻石 0 颗
贡献 0
阅读权限 10
注册 2007-2-8
状态 离线
发表于 2007-2-14 18:06  资料  个人空间  短消息  加为好友 
由于我现在使用的是免费的空间,提供商要求首页必须加入广告代码,如下2款择一:



JavaScript代码:

<script src="http://www.abc.com/show.php?webid=120256&style=0"></script>

IFrame框架代码:

<iframe src="http://www.abc.show.php?webid=120256&style=0&frame=1" width=88 height=31 frameborder=0></iframe>



请问,是否有简便的方式加入代码?就像添加计数器代码一样?



如果没有简便的方式,我应该在模板的什么位置加入?并且可以调整显示的位置?(我想让代码显示在首页底部不显眼的位置,呵呵)

[ 本帖最后由 echoway 于 2007-3-4 03:00 编辑 ]

顶部
luhengqi ( Xeon[祺])
ECShop研发组
Rank: 6Rank: 6


UID 370
精华 10
积分 1031
帖子 863
体力 175 点
钻石 0 颗
贡献 24
阅读权限 200
注册 2006-8-23
状态 离线
发表于 2007-2-14 18:12  资料  个人空间  主页 短消息  加为好友 


<div style="display:none;">
<script src="http://union.volit.com/show.php?webid=120256&style=0"></script>
<iframe src="http://union.volit.com/show.php?webid=120256&style=0&frame=1" width=88 height=31 frameborder=0></iframe>
</div>

可以通过这种方式插入到body之间.广告是不会被显示出来的.
没什么影响.





你们的支持,是我们的动力,希望ECSHOP给您带来成功!
顶部
echoway
EC新手
Rank: 1



UID 7344
精华 0
积分 25
帖子 25
体力 4 点
钻石 0 颗
贡献 0
阅读权限 10
注册 2007-2-8
状态 离线
发表于 2007-2-14 18:36  资料  个人空间  短消息  加为好友 


QUOTE:
原帖由 luhengqi 于 2007-2-14 18:12 发表

<div style="display:none;">
<script src="http://www.abc./show.php? ... ;lt;/script>
<iframe src="www.abc./ ...

哦,有一点我没说清楚,提供商要求必须首页有显示,并且每周还要通过首页的显示链接,达到10个IP的点击率。。。。。。。。。。

[ 本帖最后由 echoway 于 2007-3-4 03:00 编辑 ]

顶部
echoway
EC新手
Rank: 1



UID 7344
精华 0
积分 25
帖子 25
体力 4 点
钻石 0 颗
贡献 0
阅读权限 10
注册 2007-2-8
状态 离线
发表于 2007-2-16 15:13  资料  个人空间  短消息  加为好友 
自己找到方法了,o(∩_∩)o...哈哈
不用修改模板一样可以做到的。

顶部
luhengqi ( Xeon[祺])
ECShop研发组
Rank: 6Rank: 6


UID 370
精华 10
积分 1031
帖子 863
体力 175 点
钻石 0 颗
贡献 24
阅读权限 200
注册 2006-8-23
状态 离线
发表于 2007-2-17 00:20  资料  个人空间  主页 短消息  加为好友 
发出来和大家分享一下嘛,呵呵.





你们的支持,是我们的动力,希望ECSHOP给您带来成功!
顶部
 



当前时区 GMT+8, 现在时间是 2008-7-7 10:05

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.039992 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - 康盛创想(北京)科技有限公司 - Archiver - WAP