gpt4 book ai didi

javascript - 使用 AJAX 使 PowerReviews 正确加载

转载 作者:搜寻专家 更新时间:2023-11-01 05:13:51 25 4
gpt4 key购买 nike

我们在我们的 Magento 商店中使用 PowerReviews 作为对标准 Magento 审查系统的替代。我们已经为类别、产品和评论页面设置了它,现在已经运行良好一段时间了。

最近我添加了一个模块,它将 AJAX 重新加载功能带到类别页面上的过滤导航中。即,我选择“红色”作为过滤器,类别页面会刷新而无需重新加载正确的产品。当我关闭 Power Reviews 时,这工作正常。

当 Power Reviews 打开时,AJAX 开始加载,但随后页面变白,只有 PowerReviews <div>显示标签。当我查看 PowerReviews 代码时,我想我可以看出原因:

<script type="text/javascript">
POWERREVIEWS.display.snippet(document, {
pr_page_id : '49DAF4',
pr_write_review : '/review/product/list/id/1907/category/111/#review-form',
pr_read_review : txt, pr_snippet_min_reviews : 1});
</script>

POWERREVIEWS.display.snippet被称为“文档”我认为正在发生的事情是 AJAX 负载正在发生,被写入“文档”然后 PowerReviews 正在发生并且也被写入“文档”。由于这是最后发生的,它会劫持页面,而不是像在正常加载时那样正确放置。

如果我将“文档”更改为类似 document.getelementbyid('PWR') 的内容并添加 <div id="PWR">该代码段不会显示在页面上。有没有一种方法可以定位 POWERREVIEWS.display.snippet 的输出?到“文档”以外的其他内容,以便两个脚本不会相互干扰?

最佳答案

PowerReviews 实际上提供了一个有效的答案。他们建议直接使用 JQuery 传递方法到 DIV。将其张贴在这里以帮助其他人。

1) Insert a JS include to a jquery library within the section (if you don't already):

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>

2) Use the write : function(content) syntax for the snippet function call:

<div id="pr_snippet_category_12345"> <script type="text/javascript">
POWERREVIEWS.display.snippet({ write : function(content) {
$('div#pr_snippet_category_12345').append(content); } }, { pr_page_id
: '12345', pr_snippet_min_reviews : '1' }) </script> </div>

关于javascript - 使用 AJAX 使 PowerReviews 正确加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11871516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com