我的网站上有共享功能,元数据是从模型中动态构建的,我有用户可以组合成分的问题,然后点击与朋友分享,点击此按钮将他们带到感谢页面显示他们创建的组合,并通过使用
附加图像名称和图像标题来创建元数据@Model.ImageCombintation
@Model.ImageTitle
我的控制器看起来像这样
public ActionResult ThankYou()
{
var model = (LabCombination)Session["Comb"];
return View(model)
}
Inside LabCombination包含图像,标题和其他附加信息。
我构建了这样的元数据,将@Model细节附加到最后,它呈现如下:
<meta property="og:title" content="Check out the flavour I just made! Blackcherry & Cinnamon" />
<meta property="og:description" content="Check out the flavour I have just created!" />
<meta property="og:image" content="http://danone.staging-eurorscg.com.au/Content/Images/FlavourLab/CombinationSmall/danone_ultimate_blackcherry_cinnamon.png" />
<meta property="og:url" content="http://danone.staging-eurorscg.com.au/thank-you" />
这在第一轮工作正常,但是当我回到页面并创建另一个组合并单击与朋友共享时,元数据会更新,但共享对话框会显示此前显示的组合,例如,您在中间看到的图像是新组合,其中弹出的共享对话框中的图像是上一个图像。
现在我用谷歌搜索了这个并且很多人建议使用https://developers.facebook.com/tools/debug/og/object/并再次废弃页面,这很好但是当这个网站生效时它没有意义,因为许多人正在创建不同的组合我需要影响即时不坐在那里等待它反映新的图像!我也不会再次废弃这个页面......我怎么能绕过这个?
更新
在阅读了关于intenet的内容之后,很多人都说如果你需要更新共享功能上的内容,那么你需要在POST请求中将'scrape'参数设置为'true'重新提交该对象。以下是我在页面底部的内容
<script>
$(document).ready(function () {
(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_GB/sdk.js#xfbml=1&version=v2.0";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
});
</script>
我会把它放在哪里?
**另一次更新**
我发现以下线程Facebook Open Graph not clearing cache
(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_GB/sdk.js#xfbml=1&version=v2.0";
js.scrape = true;
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
window.fbAsyncInit = function () {
//FB.init({
// appId: '1621733871379311',
// xfbml: true,
// version: 'v2.2'
//});
//FB.clear_cache("http://danone.staging-eurorscg.com.au/thank-you");
};
$.post('https://graph.facebook.com', {
id: 'http://danone.staging-eurorscg.com.au/thank-you',
scrape: true
},
function (response) {
console.log(response);
}
);
我试过这个,但惊喜却不起作用。我想要做的就是清除缓存为什么文档如此受限?