yam.platform.setAuthToken在IE 8和IE 9中不再工作

yam.platform.setAuthToken no longer working in IE 8 and IE 9

本文关键字:IE 不再 工作 platform setAuthToken yam      更新时间:2023-09-26

我们目前正在将Yammer集成到我们的企业SharePoint内部网中,为此我们使用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调用失败了,但没有给出解释;它只返回"notConnected"。我们确信问题与Javascript起源无关,因为它们在我们的应用程序配置中设置正确,并且上面的代码片段在IE 10,IE 11和Chrome中完美运行。

Yammer 是否更新了他们的 SDK,删除了对 IE 8 和 IE 9 的支持,或者我们在这里缺少一些东西?请帮助我们!

至少 Yammer 对 IE 8 的支持是 12 月 14 日。 请参阅"支持的浏览器":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