Я использую FB Javascript SDK на веб-сайте, и кажется, что файл channel.php заставляет мой контент не обновляться. В файле channel.php у меня есть следующее:
<?php
$cache_expire = 60*60*24*365;
header("Pragma: public");
header("Cache-Control: maxage=".$cache_expire);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$cache_expire) . ' GMT');
?>
<script type="text/javascript" src="//connect.facebook.net/en_US/all.js"></script>
На каждой странице веб-сайта, требующей использования SDK, есть следующее, включенное непосредственно под открывающим тегом:
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId : '<?php echo $cfg['fb_app_id']; ?>',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
channelUrl : '<?php echo $cfg['http_prefix'].$cfg['domain_name'].'/'; ?>channel.php', // Custom Channel URL
oauth : true //enables OAuth 2.0
});
};
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#appId=<?php echo $cfg['fb_app_id']; ?>&xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
Кажется, что страницы, которые называют этот файл "устаревшими" в кэше браузера. Я был вне офиса в течение дня и однажды вернулся, страницы все еще содержали их старое содержание, пока я не сделал перезагрузку щелчка на страницах. Есть мысли?