javascript - 仅在需要时加载 JavaScript(点击时)

标签 javascript ajax load lazy-loading addthis

我在我的网站上使用 addthis 小部件:

<!-- AddThis Button BEGIN --> 
<a class="addthis_button" href="http://www.addthis.com/bookmark.php?v=250&amp;username=abcdefg" rel="nofollow"> 
<img src="http://s7.addthis.com/static/btn/v2/lg-share-en.gif" width="188" height="24" alt="Bookmark and Share" style="border:0"/></a> 
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js"></script> 
<!-- AddThis Button END --> 

现在,javascript addthis_widget.js 仅当有人实际使用共享按钮时才有用。如何确保它不会每次都加载,而仅在有人单击共享按钮时加载?

我是 javascript 新手,因此我们将非常感谢一些示例代码:)

添加:

我希望避免使用 jquery 或其他库,因为正如你可以想象的,我正在尝试减少页面上的加载时间/请求数量/数据。

谢谢

最佳答案

简单的答案是不要打扰。

您所要求的是可能的,并且有很多脚本加载器工具,但这不是重点。那里的脚本设置了按钮,以便首先可以单击它。

如果您确实只想在有人单击按钮时加载脚本,那么您必须:

  • 首先添加您自己的代码以检测点击,并阻止浏览器重定向到默认 href
  • 然后加载脚本,这会给用户带来明显的延迟
  • 然后在该脚本上调用正确的行为。我认为该脚本是外部的,因此可能无法在不进行某些修改的情况下以这种方式工作。

很抱歉,如果这不是您正在寻找的答案,但除非该脚本实际上导致了一些延迟,否则真的不要打扰:)。

(但是,您可以将该脚本添加到您自己的 JS 文件的末尾,并在 <body> 的末尾加载单个脚本)。

关于javascript - 仅在需要时加载 JavaScript(点击时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4746321/

相关文章:

ajax - 使用定期 AJAX/XMLHttpRequest 调用时如何修复浏览器的内存增长?

javascript - 如何在第二次点击后销毁cookie

testing - 如何在 Red Hat 服务器 (Linux) 上设置 Load Generator

Python:使用 numpy 保存/加载大数组

testing - 集成了测试工具的 Robotframework

javascript - Cypress 获取 href 属性

Javascript - GoJS 流程图

ajax - Symfony2,检查一个 Action 是否被 ajax 调用

javascript - ExpressJS 4 中间件问题

javascript - Javascript 对象的构造函数