我有一个人们可以下载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数组。不幸的是,当谈到这一点时,我是一个完整的菜鸟,我不确定如何做到这一点,仍然有截图链接到正确的报告。
有关如何实现这一目标的任何想法?
非常感谢提前!
答案 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>',
];