我们正在使用Open Graph片段在我们的页面上加载yammer嵌入式Feed。我们正试图在window.onload事件上加载它。它间歇性地似乎在抛出一个HTTP 404.这些都是例子:
这是我们使用的代码段:
var attach = function () {
var yammerGroupId = "";
if (window.location.href.indexOf('mydomain.sharepoint.com') > 0) {
yammerGroupId = 0000000;
}
else {
yammerGroupId = 0000000;
}
myDescription = "";
yam.connect.embedFeed({
container: "#embedded-feed",
feedType: "open-graph",
config: {
use_sso: true,
header: false,
footer: false,
showOpenGraphPreview: false,
defaultToCanonical: false,
hideNetworkName: false,
defaultGroupId: yammerGroupId,
promptText: "Comment on this page..."
},
objectProperties: {
type: "page",
url:window.location.href,
fetch: true,
title:document.title,
private: true,
ignore_canonical_url: false,
description: ""
}
});
}
if (window.addEventListener) {
window.addEventListener('load', attach, false)
} else if (window.attachEvent) {
window.attachEvent('onload', attach)
}
请注意,Window onload正按预期启动。它工作正常7/10次,但在Edge,IE和Chrome上间歇性地发出404错误。
当作为参数传递的URL不是Yammer网络中的开放图形对象(OGO)时,预计从/api/v1/open_graph_objects
获得来自documentation的404。检查URL参数实际上是否有效。
例如,你设置url: myUrl
,但你可能最好用"url": "window.location.href"
直接设置它,因为似乎没有从你的代码中设置值。使用configuration tool可以使用更好的JavaScript,因为您的代码看起来无效。