我们目前正在将Yammer集成到我们的企业SharePoint Intranet中,为此我们使用Yammer Javascript SDK。
当用户接受我们的自定义Yammer应用程序时,我们会将返回的令牌存储在用户配置文件中,以便下次我们可以使用SDK而无需用户再次登录。对于后续登录,我们使用JavaScript SDK中的yam.platform.setAuthToken方法。
这曾经适用于我们公司使用的所有浏览器,包括IE 8-11和Chrome。不知何故,它停止在IE 8和IE 9中工作,我们不确定原因。
我们已在以下代码段中隔离了该问题:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" data-app-id="[OUR-APP-ID]" src="https://c64.assets-yammer.com/assets/platform_js_sdk.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var $result = $("#result");
var $details = $("#details");
try {
$result.append("running...<br/>");
yam.platform.setAuthToken("[VALID-USER-TOKEN]", function (response) {
$result.append("response received...<br/>");
$details.append("Status: " + response.status + "</br>");
if (response.authResponse) {
$result.append("SUCCESS!");
$details.append("Network name: " + response.access_token.network_name + "</br>");
$details.append("User ID: " + response.access_token.user_id + "</br>");
$details.append("Token: " + response.access_token.token + "</br>");
} else {
$result.append("FAIL!");
}
});
} catch (e){
$result.html("EXCEPTION!");
$details.html(e);
}
});
</script>
</head>
<body>
<h1>Yammer JS SDK</h1>
<div>
Setting authentication token... Status:<br/>
<span id="result" style="color: #00f;">init...<br/> </span>
</div>
<h2>Details:</h2>
<div id="details"></div>
</body>
</html>
通过使用IE 11,您可以使用开发工具栏(F12)切换浏览器版本。从IE 11切换到10,9和8,我们看到IE 11和10都工作正常,但IE 9和8都失败了。
似乎setAuthToken函数完成的ajax调用失败了,但没有给出解释;它只返回&#34; notConnected&#34;。 我们确定问题与Javascript Origins没有关系,因为这些问题在我们的应用配置中正确设置,并且上述代码段在IE 10,IE 11和Chrome中完美运行。
Yammer是否更新了他们的SDK,删除了对IE 8和IE 9的支持,或者我们在这里遗漏了什么?请帮助我们!
答案 0 :(得分:0)
来自Yammer的IE 8支持的Atleast是12月14日。请参考&#34;支持的浏览器&#34;:https://developer.yammer.com/upgrading-to-the-new-yammer-js-sdk/和 http://community.office365.com/en-us/w/yammer/yammer-internet-explorer-support-update-123114.aspx