如何在我的WordPress页面上的其他所有内容之后加载TripAdvisor小部件

时间:2016-08-05 19:21:35

标签: javascript jquery wordpress widget tripadvisor

本周,我开始在我的第一个WordPress网站上为一家经营旅游公司的家庭成员工作,并且我已经决定从头开始构建一个非常过时的网站。

在我决定将一些TripAdvisor小部件添加到页面之前,一切进展顺利。

小部件加载速度极慢,这很烦人,但最糟糕的是它们在页面加载之前执行,导致极其明显的挂起和不良的弹出"在小部件之后页面最终可以完成加载的效果。

这是一个TripAdvisor小部件的示例

<div id="TA_rated837" class="TA_rated">
<ul id="MpoP9sbYWV" class="TA_links Zw2KlSEGHzT">
<li id="qvZzYWwC2J" class="3qkrdfE">
<a target="_blank" href="https://www.tripadvisor.co.uk/"><img src="https://www.tripadvisor.co.uk/img/cdsi/img2/badges/ollie-11424-2.gif" alt="TripAdvisor"/></a>
</li>
</ul>
</div>
<script src="https://www.jscache.com/wejs?wtype=rated&amp;uniq=837&amp;locationId=3507299&amp;lang=en_UK&amp;display_version=2"></script>

该标记导致包含在document.write中的另一个脚本只能在页面加载时执行,我收集的是删除任何现有的HTML?

document.write( '<script src="https://www.tripadvisor.com/WidgetEmbed-rated?amp;locationId=3507299&amp;lang=en_UK&amp;display_version=2&amp;uniq=837"></script>' );

当我发现可以在页面加载后用于触发docment.wite的PostScribe时,我以为我找到了触发脚本的方法。但是由于页面已经加载,因此无论如何都不能触发脚本。

我还试图复制最终的函数,并将其包装在我自己的函数中,以便在页面加载后触发。但要实现这一点,我必须开始编辑违反其使用条款的TripAdvisors小部件代码。

他们确实拥有API,但只有极大的企业才能访问它。

我的网站目前仍然是本地的,但我已经创建了一个演示我的问题的小提琴。

https://jsfiddle.net/9z1r77Le/

我希望有人找到解决方法和过去,因为我确实看到过这些小部件的网站异步加载。

提前致谢!

1 个答案:

答案 0 :(得分:1)

移动TripAdvisor&#39;&#39;到页面的末尾解决了我的问题....

   </body>
   <!-- //end of body-->
   <script src="https://www.jscache.com/wejs?wtype=...></script> 
   <script src="https://www.jscache.com/wejs?wtype=...></script> 
   <script src="https://www.jscache.com/wejs?wtype=...></script> 
</html>
<!-- //end of Document -->

我觉得这是一个白痴,这让我有多长时间锻炼,但希望这会在某些时候帮助别人。