在网站上显示带链接的随机图像

时间:2014-02-07 10:15:24

标签: javascript php image random hyperlink

我有一个人们可以下载pdf文件的网站。为了使网站更具吸引力,我现在想要显示随机报告第一页的屏幕截图,如果用户点击它,请打开截取屏幕截图的相应pdf文件。

现在,我使用以下javascript代码来实现此目的:

<script type="text/javascript">
var total_images = 3;
var random_number = Math.floor((Math.random()*total_images));
var random_img = new Array();
random_img[0] = '<a href="documents/report1.pdf"><img src="images/report1.jpg"><\/a>';
random_img[1] = '<a href="documents/report2.pdf"><img src="images/report2.jpg"><\/a>';
random_img[2] = '<a href="documents/report3.pdf"><img src="images/report3.jpg"><\/a>';
document.write(random_img[random_number]);
--></script>

这没有任何问题。但是,有新的pdf-docs一直在添加,每次编辑代码都是一种痛苦。我已经读过可能使用php填充javascript数组。不幸的是,当谈到这一点时,我是一个完整的菜鸟,我不确定如何做到这一点,仍然有截图链接到正确的报告。

有关如何实现这一目标的任何想法?

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

你可以直接将php注入javascript。我的意思是,php将首先在服务器上执行,将修改后的javascript提供给客户端,客户端一开始就不会知道php。

假设你有一个php数组的报告,命名约定类似:

<script type="text/javascript">
    var total_images = 3;
    var random_number = Math.floor((Math.random()*total_images));
    var random_img = [
                      <?php
                          foreach ($reports as $report) {
                              echo "'<a href="documents/$report.pdf"><img src="images/$report.jpg"><\/a>', ";
                          }
                      ?>
                     ];
    document.write(random_img[random_number]);
</script>

编辑:更多解释

这将在javascript中创建一个数组,如下所示:

['<a href="documents/report1.pdf"><img src="images/report1.jpg"><\/a>',
 '<a href="documents/report2.pdf"><img src="images/report2.jpg"><\/a>',
];