2013-03-21 38 views
0

我正在创建一个幻灯片,我正在显示基于他们的网址的图像。我使用PHP从网页中提取图像网址,并使用JavaScript以幻灯片格式显示它们。唯一的问题是,第一张图片需要花费很多时间才能加载,因此我决定通过将它们存储在文本文件中来缓存url,但是我不知道如何从JavaScript中的文本文件中读取url。如何在JavaScript幻灯片中使用文本文件中的图像URL?

任何人都可以在正确的方向指出我应该如何继续。我在网上找不到任何有用的东西。

我的JS代码是这样的:

<script language="JavaScript1.1"> 
     var slideimages=new Array() 
     slideshowimages("<?php echo join("\", \"", $image_urls); ?>") <--this is where I was initially echoing the array or image urls from php, but it proves slow for the first few images 
     function slideshowimages(){ 
      for (i=0;i<slideshowimages.arguments.length;i++){ 
       slideimages[i]=new Image() 
       slideimages[i].src=slideshowimages.arguments[i] 
      } 
     } 
     var slideshowspeed1=30000 

     var whichimage1=0 
     function slideit1(){ 
      if (!document.images) 
       return 
      document.images.slide1.src=slideimages[whichimage1].src 
      if (whichimage1<slideimages.length-1) 
      whichimage1++ 
      else 
       whichimage1=0 
      setTimeout("slideit1()",slideshowspeed1)}slideit1() 
    </script> 

谢谢!

+0

你打算如何存储文本文件?在用户端?然后考虑HTML5中引入的独立存储。如果在服务器端,它不会给你任何性能提升。事实上,在本地存储URL也不会给你。你应该确保图片在浏览器缓存中。 – Aneri 2013-03-21 20:02:29

+0

@Aneri:我如何确保它们在浏览器缓存中?而且我使用的图片接近1000张,那么浏览器缓存能够保存所有这些图片吗?或者浏览器缓存是否保存了所有的url? – Kitty1911 2013-03-22 02:15:00

回答

1

你为什么从外部网站拉?如果你在本地拉他们,你通常会获得更多的速度。我相信,一旦它将图像拉出一次左右,它会在用户再次出现时缓存。你可以做的是使用你拉出的列表并创建隐藏在页面上的图像,以便它们加载页面。然后,当浏览幻灯片时,用户应该有时间缓存图像,并且幻灯片将会加快。

只需创建一个名为hidden的CSS类并将它visability:hidden;它。大多数浏览器仍会尝试加载数据。