8

我刚刚在我的 tomcat 服务器中设置了 prerender.io middlewave(运行一些 java webservices 和一个 angularjs 应用程序)。

该服务(prerender)正常工作,我可以看到添加到列表中的页面(当我向用户代理发送模拟请求时)。

我的问题是 Facebook 分享按钮(来自 addthis)。

基本上,如果我访问一个尚未缓存的页面并单击“在 Facebook 上共享”按钮,它将向我显示 angularjs 模板,而不是“渲染”的模板。

奇怪的是,我可以在 Prerender.io 管理员上看到该页面。

这就像它太慢并且超时。我仍然不知道它是如何获得页面的非缓存版本的。

在第一次错误调用 Facebook 缓存页面后,如果我不从 Facebook 对象调试器(https://developers.facebook.com/tools/debug/og/object)手动刷新它,错误页面将保持缓存在 FB服务器,直到刷新 FB 缓存。

无论如何对如何解决这个问题有什么建议吗?

我可以预先缓存每个页面,但我将不得不处理新页面,我认为这不是一个好的解决方案。

谢谢,德姆

4

1 回答 1

1

我有同样的问题,它仍然困扰着我很多。

您可以做的是在创建页面后(通常是您的用户保存一些内容),然后您可以创建一个服务器调用 prerender 以重新缓存您的页面。一段时间后(例如 1 分钟),您可以再次调用 facebook 来刷新其缓存...

唯一的问题是,它只能在几分钟后工作...... :(

于 2015-06-11T16:32:51.367 回答