0

我的网站是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();

我当前加载的横幅位于“赚取积分”下,并显示金色专业品质颜色。

知道为什么这不会在某些页面上加载吗?我对其进行了测试以加载不存在的图像,并且在该位置应该有一个文本可以读取undefined,但它甚至不会出现在它丢失的页面上。

4

4 回答 4

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。

于 2012-09-10T14:11:59.817 回答
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>";
于 2012-09-10T14:11:02.627 回答
0
  1. 将js文件放到你主题的js文件夹中

  2. 要在您的站点中添加 js 文件,您有 2 个解决方案:

    • 在主题的 header.tpl 文件中,添加以下代码:
      <script src="{$js_dir}myfile.js"></script>

    • 覆盖 FrontController.php(函数 setMedia)

于 2012-09-11T21:13:23.930 回答
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”

于 2012-09-10T14:12:20.393 回答