本周,我开始在我的第一个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&uniq=837&locationId=3507299&lang=en_UK&display_version=2"></script>
该标记导致包含在document.write
中的另一个脚本只能在页面加载时执行,我收集的是删除任何现有的HTML?
document.write( '<script src="https://www.tripadvisor.com/WidgetEmbed-rated?amp;locationId=3507299&lang=en_UK&display_version=2&uniq=837"></script>' );
当我发现可以在页面加载后用于触发docment.wite的PostScribe时,我以为我找到了触发脚本的方法。但是由于页面已经加载,因此无论如何都不能触发脚本。
我还试图复制最终的函数,并将其包装在我自己的函数中,以便在页面加载后触发。但要实现这一点,我必须开始编辑违反其使用条款的TripAdvisors小部件代码。
他们确实拥有API,但只有极大的企业才能访问它。
我的网站目前仍然是本地的,但我已经创建了一个演示我的问题的小提琴。
https://jsfiddle.net/9z1r77Le/
我希望有人找到解决方法和过去,因为我确实看到过这些小部件的网站异步加载。
提前致谢!
答案 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 -->
我觉得这是一个白痴,这让我有多长时间锻炼,但希望这会在某些时候帮助别人。