0

私のサイトはhttp://littlehousearts.comです。私はPrestashopを使用しており、ページが読み込まれるたびにバナーを表示するためにjavascriptを追加しました。現在、バナー画像は1つしかなく、ホームページとカテゴリページに正常に読み込まれます。ただし、製品ページに常に読み込まれるわけではありません。ソースを表示し、ソースでスクリプトタグを適切に表示できます。私が使用したタグは次のとおりです。

<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

問題は、配列インデックスがゼロベースであり、JavaScriptが配列を動的に拡張するため、最初のバナーを割り当てることです。これmyimages[1]で、配列の長さは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

相対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 に答える
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 に答える