1

我正在尝试使用 javascript 从文件中加载变量。我找到了一些例子,但我似乎无法让它发挥作用,并且真的可以使用一些帮助来让我的语法正确。

基本上,我想在页面上加载随机广告图片,但我希望从文件中提取广告列表。目前我正在使用我在互联网上找到的以下脚本加载图像:

    <script type="text/javascript">
     var picPaths = [
      '/images/ad-1.jpg',
      '/images/ad-2.jpg',
      '/images/ad-3.jpg',
      '/images/ad-4.jpg'
     ]
     var oPics = [];
     for(i=0; i < picPaths.length; i++){
      oPics[i] = new Image();
      oPics[i].src = picPaths[i];
     }
     curPic = Math.floor(Math.random()*oPics.length);
     window.onload=function(){
      document.getElementById('imgRotator').src = oPics[curPic].src;
     }
    </script>

我一直在尝试从文件中加载 picPath 变量值(而不是在代码中说明它)。我在stackoverflow上找到了一些代码,并尝试将其调整为以下内容:

    var picPaths = new XMLHttpRequest();
    picPaths.open('GET', '/images/liveimages.inc');
    picPaths.send();

我还创建了 /images/liveimages.inc 文件,其中包含以下内容:

     '/images/ad-1.jpg',
     '/images/ad-2.jpg',
     '/images/ad-3.jpg',
     '/images/ad-4.jpg'

但是,唉,它不起作用,而且我的程序员还不足以修复它。:-( 我认为我的语法已经关闭,但我的代码也可能关闭,因为我不是 JavaScript 人。

任何帮助将不胜感激,并感谢您花时间阅读(并回复)我的问题!:-D

4

1 回答 1

0

如果您将数据文件存储为 JSON,您可以使用 AJAX/XMLHTTPRequest 来获取它,并且JSON.parse(在所有现代浏览器中都可用)来读取它。


一种更简单的方法可能是拥有一个仅包含数据的脚本,例如:

var picPaths = [
 '/images/ad-1.jpg',
 '/images/ad-2.jpg',
 '/images/ad-3.jpg',
 '/images/ad-4.jpg'
];

然后以正确的顺序包含您的脚本:

<script type="text/javascript" src="picpaths.js"></script>
<script type="text/javascript" src="ad_script.js"></script>

ad_script.js 将能够访问picPaths.

您可以让一些服务器端脚本为您生成 picpaths.js,例如通过查看文件夹或数据库的内容并从中提取广告信息。

于 2013-01-03T18:08:10.813 回答