内容营销
修复Flash,JavaScript,XML,KML或Google Maps的缓存问题
这是有关缓存问题的简短而甜蜜的帖子。 网站和浏览器的构建旨在真正优化资源。 他们有时做得很好,最终结果实际上破坏了您的动态网站,而不是像您希望的那样频繁地对其进行更新。 今天我在和 JW球员,一种Flash电影播放器,可通过XML文件提取电影列表。
问题是我们总是使用新的网络研讨会和培训课程来更新文件。 如果我们的客户每天继续访问该页面,它将加载播放列表的缓存版本,而从不实际向他们显示最新和最出色的页面。
结果,我不得不破解 SWF目标代码 这样就可以认为它每次都在加载新的播放列表。
var video = new SWFObject('player.swf','mpl','670','280','9'); var playlist = 'playlist.xml't='+Math.round(1000 * Math.random()); video.addParam('allowscriptaccess','always'); video.addParam('allowfullscreen','true'); video.addParam('flashvars','&file='+playlist+'&playlistsize=350&controlbar=over&playlist=right'); video.write('video');
我欺骗播放器的方法是在列表名称上放置一个查询字符串,该名称使用JavaScript生成一个随机数。 无论是谁点击页面,它都会寻找一个不同的文件名,因此播放器每次都会重新插入播放列表。
这不仅对JW Player方便,在处理动态变化的KML文件时,我也将这种技术用于Google Maps。 只需生成一个随机查询字符串,系统就会在每次用户访问时重新加载(相当静态的)KML文件。 这是一个hack,但实际上是一种轻松进行缓存的简单方法 折扣 在这些没有选项的应用程序中。