免责声明:这篇文章仅用于教学目的。Zendesk 不支持或保证此代码。在评论部分发布您的任何问题,或尝试在线搜索解决方案。

问题

如何自动打开最顶端的导航应用? 

答案

当应用首次加载时,您可打开顶部导航,但无法直接从顶部导航应用中进行此操作。最顶端的导航应用未加载到 DOM,因此在首次打开之前,可用于提交请求。如需更多信息,请查阅此页面: 预加载窗格。

要解决此问题,请使用 实例 API(工单侧栏、侧导航栏,或最好是后台应用)从另一个位置的应用发出此请求。例如,将应用位置设置为"两者" top_bar清单中的后台: 

"location": {
    "support": {
      "background": "assets/iframe.html",
      "top_bar": "assets/iframe.html"
    }

由于该应用也配置为也在立即加载的后台位置,因此您可以使用后台应用和实例 API 自动弹出顶部导航应用。

var client = ZAFClient.init();

var topBarClientPromise = client.get('instances').then(function(instancesData) {
  var instances = instancesData.instances;
  for (var instanceGuid in instances) {
    if (instances[instanceGuid].location === 'top_bar') {
      return client.instance(instanceGuid);
    }
  }
});

topBarClientPromise.then(function(topBarClient) {
  // opens the top bar app, even if its iframe hasn't been loaded
  topBarClient.invoke('popover');
});

如需更多信息,请查阅文章:位置之间的消息传送。

翻译免责声明:本文章使用自动翻译软件翻译,以便您了解基本内容。 我们已采取合理措施提供准确翻译,但不保证翻译准确性

如对翻译准确性有任何疑问,请以文章的英语版本为准。

由 Zendesk 提供技术支持