javascript - 如何在 Angular js部分文件中刷新第3方小部件的数据

标签 javascript angularjs

我在我的 angular js 网站上包含了 YOTPO 评论。 这是一个两步过程 - 1) 包括他们的 widget.js - 我已经把它包括在我的 index.html 中,所有其他的 js 文件也包括在内 2) 将他们的小部件的 div 标记包含在必须显示评论的页面上——我已经将其包含在单个产品页面上,这是一个 partial/product.html

问题 - 我的网站是一个搜索网站。 Index.html 有一个搜索框,所有结果都显示在那里。当用户点击结果中的特定页面时,他将被重定向到特定产品页面 (partial/product.html)

用户流程 - 假设在搜索时我在结果中得到了产品 P1、P2、P3。

第一次,如果我点击 P1 并转到其产品页面,则会出现 YOTPO 评论。 但是当我返回搜索并单击任何其他结果时(即使有新的搜索查询和结果)- YOTPO 小部件不会出现。但如果我刷新页面,它就会出现。

我认为当调用 widgets.js(包含在 index.html 中)并刷新重新加载时会显示评论。 但是我如何确保每次用户导航到产品页面时它都重新加载? 或者在 angularJS 中如何处理这种情况 - 我是 JS 的新手,可能是我在这里遗漏了一些概念。

最佳答案

对于我的 VueJS SPA,我在 mounted() 中使用了以下代码:

if (
  typeof yotpo != 'undefined'
  && yotpo
  && yotpo.initialized
  && !document.querySelector('.yotpo-display-wrapper')
) {
  (new Yotpo.API(yotpo)).refreshWidgets()
}

https://support.yotpo.com/en/article/loading-yotpo-with-ajax 上找到方法

关于javascript - 如何在 Angular js部分文件中刷新第3方小部件的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33884956/

相关文章:

javascript - 减少来自客户端的第三方异步调用次数

javascript - 为什么 React App 在网页上出现两次?

javascript - 在 IE/FF 中使用 getElementsByTagName 时自定义标签的处理方式不同

javascript - 如何从服务返回数据作为 AngularJS 中的 promise ?

ng-repeat 内的 Jquery 时间选择器不起作用

javascript - 使用 Javascript 验证以 256 开头的电话号码时出现问题

javascript - Swift 中的闭包概念是否类似于 Javascript 中的闭包?

javascript - 使用 angular.element 函数动态获取当前焦点

ruby-on-rails - Rails 复制了资源中的参数

html - Webpack:无法使用 url() 导入加载 CSS