我的网站是http://littlehousearts.com。我正在使用Prestashop并添加了javascript以在每个页面加载时显示横幅。目前我只有一个横幅图像,它在主页和类别页面上加载正常。但它并不总是在产品页面上加载。我能够在源代码中查看源代码并正确查看脚本标记。我使用的标签是:
<script src="banner.js" type="text/javascript"></script>
javascript文件中的代码是:
function random_imglink(){
var myimages=new Array();
index=0;
//specify random images below. You can have as many as you wish
myimages[1]="<a href='http://littlehousearts.com/28_golden'><img src='/img/golden.png' width='943' alt='GOLDEN Acrylic Paints' /></a>";
index=Math.floor(Math.random()*myimages.length);
if (index == 0){
index=1;
}
document.write(myimages[index]);
}
random_imglink();
我目前加载的横幅是&#34;获得积分&#34;并展示金色专业品质的色彩。
知道为什么这不会加载到某些页面上?我测试了它以加载一个不存在的图像,并且该位置应该有一个文本,内容为undefined
,但它甚至不会显示在缺少的页面上。
答案 0 :(得分:2)
此处没有广告
http://littlehousearts.com/drawing/84-stockmar-wax-crayons-8-colours-supplementary-assortment.html
它有;
<script src="banner.js" type="text/javascript"></script>
无效,因为它在\ drawing目录中查找;
http://littlehousearts.com/drawing/banner.js 404 (Not Found)
因此,请更改子目录中脚本的路径,或使用src属性中的完整URL。
答案 1 :(得分:1)
问题是你要将第一个横幅分配给myimages[1]
,因为数组索引是从零开始的,而JavaScript会动态扩展数组,你的数组现在的长度为2.因此你的随机数生成器会创建索引0 1.你的横幅只会出现一半的时间。另一半的时间什么都不会出现。你应该改变
myimages[1]="<a href='http://littlehousearts.com/28_golden'><img src='/img/golden.png' width='943' alt='GOLDEN Acrylic Paints' /></a>";
到
myimages[0]="<a href='http://littlehousearts.com/28_golden'><img src='/img/golden.png' width='943' alt='GOLDEN Acrylic Paints' /></a>";
答案 2 :(得分:0)
我猜你有这个问题,因为你使用了相对的URL。
然后,banner.js
指向当前目录中的文件。所以,如果你在“http://littlehousearts.com”,它指向“http://littlehousearts.com/banner.js”,但如果你在“http://littlehousearts.com/a/” ,它指向“http://littlehousearts.com/a/banner.js”。
而不是这个,您应该使用站点根目录的相对URL:
<script src="/banner.js" type="text/javascript"></script>
这样,它总是指向“http://littlehousearts.com/banner.js”
答案 3 :(得分:0)
将js文件放在主题的js文件夹中
要在您的网站中添加js文件,您有2个解决方案:
在主题的header.tpl文件中,添加以下代码:
<script src="{$js_dir}myfile.js"></script>
覆盖FrontController.php(函数setMedia)