标签:php javascript html5 google-plus
我正在创建一个在线HTML5 / Javascript测验.我通过Facebook和Twitter分享测验结果.消息传递是通过Javascript创建的,“我刚从Y问题中得到X问题正确”
我想对Google Plus做同样的事情.但是,似乎“片段”是由页面上的schema.org,Open Graph或Title / Description标签生成的.文档:https://developers.google.com/+/plugins/snippet/
我以为我可以通过PHP中的查询字符串参数动态生成这些标记,但看起来Google会缓存该页面.有任何想法吗?
PHP:
<?php
$correct = strval($_GET['correct']);
$title = "I took the Quiz and answered " . $correct . " of 9 questions correctly.";
?>
<!DOCTYPE html>
<html>
<head>
<title><?php echo($title); ?></title>
<meta property="og:title" content="<?php echo($title); ?>" />
</head>
</html>
我动态创建url … / share.php?correct = 4
但是当我分享页面时,我看到了这样的信息:
I took the Quiz and answered of 9 questions correctly.
它似乎没有显示动态数据.我假设因为Google已经缓存了这个页面?
谢谢
解决方法:
1按钮和共享对话框确实使用缓存.片段提取器应该尊重缓存控制指令,因此您应该能够通过提供必要的头来防止缓存来实现您的目标.
在PHP中,以下代码使用必要的数据设置标头以防止缓存:
<?php
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
您可以考虑做的其他事情是将随机生成的ID插入到查询字符串参数中,以便每次共享URL看起来都是唯一的.
希望有所帮助.
标签:php,javascript,html5,google-plus 来源: https://codeday.me/bug/20190529/1181062.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。