我如何保持可见和活跃的父网页的变化



我正在开发一个微软机器人,(目前使用机器人作曲家,这是链接到QnA制造商)。机器人将需要在主网站上可见(这主要是一个店面类型的网站,显示各种产品,每个产品都有自己的URL)。

QnA maker中的各种问题与需要指向托管网站上特定产品页面的答案相关。

典型的场景将是,用户将问机器人一个问题,这将导致一个答案,其中有一个URL到主网站的相关页面。当用户点击聊天机器人中的链接时,主网站将导航到相关的产品页面,但是聊天机器人应该仍然是可见的,并且应该仍然处于显示到目前为止的对话的状态(而不是重新启动)。

如何做到这一点?

(我已经尝试在iframe中嵌入bot,根据Azure bot指令,但当然,一旦父网页更改,这实际上是一个新页面,因此bot变得不可见)。

注:作为次要问题,QnA制造商似乎将所有链接设置为使用target="_blank"我想我真的需要使用一个遵循这种技术的链接:" target="_top">林或"目标= " _parent ">

链接谁对这个次要问题有什么建议?

这被称为持久化(即持久化web聊天状态)。你可以在Stack Overflow回应中找到这个问题的答案。

简而言之,当聊天会话启动时,您正在使用本地/会话存储(取决于您的需要)来保存生成的令牌和会话Id(以及流URL和水印,如果需要的话)。然后构建必要的功能,以便当用户刷新或导航离开然后返回时,随着Web Chat组件的重新构建,它在构建Direct Line对象时摄取这些值。

结果是,它不是创建一个新的DL对象,而是重新创建以前使用的DL对象并显示相关的聊天历史记录。

请记住令牌在一小时后过期。因此,如果用户离开超过一个小时,对话就会丢失。这是真的,即使他们只是离开浏览器,在这段时间没有新的交互。

这个可以通过构建功能来避免,以便在页面未被用户参与时在令牌过期之前刷新令牌。

相关内容

  • 没有找到相关文章

最新更新