首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >插入TrustPilot时无法显示JavaScript HTML (jQuery)

插入TrustPilot时无法显示JavaScript HTML (jQuery)
EN

Stack Overflow用户
提问于 2018-04-24 09:04:21
回答 2查看 4.9K关注 0票数 3

如果我将TrustPilot html代码直接添加到HTML页面上,它可以正常工作,但我需要将它与jQuery一起插入。当插入HTML代码时,我会看到它,但它没有显示。

代码语言:javascript
复制
  $(window).on('load', function () {
    var el = $('#some-element');

    el.html( trustPilotHtml() );

    function trustPilotHtml() {
      var str = "<div " +
        "class='trustpilot-widget' " +
        "data-locale='en-GB' " +
        "data-template-id='123456' "+
        "data-businessunit-id='123456' " +
        "data-style-height='500px' " +
        "data-style-width='100%' " +
        "data-theme='light' " +
        "data-stars='4,5' " +
        "data-schema-type='Organization'>" +
        "<a " +
        "href='https://some-url.com' target='_blank'>Trustpilot</a> " +
      "</div>";
      return $(str);
    }
});

让元素正确显示的唯一方法是不使用javascript直接插入HTML中吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-24 15:15:01

不这不是唯一的办法。

您应该在HTML的头部分(或接近它)内部有一个引导脚本。此脚本负责初始化您在HTML中拥有的所有小部件(TrustBoxes使用Trustpilot语言)。

当然,如果您是动态地注入HTML,那么也可以自己调用window.Trustpilot.loadFromElement(trustbox); (如果需要的话)。

在这里,trustbox是一个HTMLElement,您可以通过使用document.getElementById("some-element")或类似的方法获得。

参考资料:https://support.trustpilot.com/hc/articles/115011421468

票数 6
EN

Stack Overflow用户

发布于 2020-02-20 11:51:43

以下内容适用于产品列表页,该页面通过ajax返回筛选列表。

代码语言:javascript
复制
var element = document.getElementsByClassName("trustpilot-widget");
for(var i=0; i<element.length; i++) {
    window.Trustpilot.loadFromElement(element[i]);
}

在第一个页面加载时,所有产品评论都会按预期显示,但是如果通过ajax调用(例如使用过滤器)更新页面,则评审将丢失。在ajax之后运行上面的代码,重新加载评论

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49997539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档