gpt4 book ai didi

javascript - 如何延迟嵌入javascript?

转载 作者:行者123 更新时间:2023-11-30 18:32:13 25 4
gpt4 key购买 nike

我在网站的侧边栏中嵌入了一个 Google 趋势小部件,这会延迟整个页面的加载。而且,有时脚本永远不会停止加载,这几乎导致我的浏览器崩溃。脚本如下所示:

<script type="text/javascript" src="http://www.gmodules.com/ig/ifr?url=http%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_relatedsearches.xml&amp;up__results_type=RISING&amp;up__property=empty&amp;up__search_term=&amp;up__location=SE&amp;up__category=0&amp;up__time_range=1-m&amp;up__max_results=10&amp;synd=open&amp;w=252&amp;h=350&amp;lang=sv&amp;title=Google+Trender&amp;border=0&amp;output=js"></script>

它只是返回我无法更改的标记,据我所知,我不能将此脚本放在我网站的页脚中,然后在网站上放置一个 html 元素,该元素会在脚本加载后被替换。我怎样才能延迟这个脚本的加载?

最佳答案

在这个例子中,我假设您的脚本当前位于页面中间的某处,如下所示...

<div id="widget">
<script src="google..."></script>
</div>

...而且该脚本实质上会将内容转储到它恰好放置的任何位置,这使您无法将其移动到文档的末尾。

您可以稍后像这样添加脚本元素...

<body>
...
<div id="widget">
</div>
....
<script type="text/javascript">
var widgetScript = document.createElement('script')
widgetScript.setAttribute('type', 'text/javascript')
widgetScript.setAttribute('src', 'http://www.gmodules.com/ig/ifr?url=http%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_relatedsearches.xml&amp;up__results_type=RISING&amp;up__property=empty&amp;up__search_term=&amp;up__location=SE&amp;up__category=0&amp;up__time_range=1-m&amp;up__max_results=10&amp;synd=open&amp;w=252&amp;h=350&amp;lang=sv&amp;title=Google+Trender&amp;border=0&amp;output=js')
document.getElementById('widget').appendChild(widgetScript);
</script>
</body>

所以加载小部件脚本的脚本就在您页面的底部,因此它只会在您的 DOM 准备就绪后运行。然后它会创建脚本标签并将其添加到您想要的元素中。

更新 - 根据您使用此方法的反馈,此替代方法可能会有所帮助,尽管它有点“粗糙”。

这是一个 example on JSFiddle .请注意,即使小部件实际上仍在加载,该页面也是可见的。

其工作原理是将脚本加载到页面最底部的隐藏 div 中,然后在加载时将隐藏 div 的内容转移到页面流中更靠上的可见小部件 div 中。

关于javascript - 如何延迟嵌入javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9326273/

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