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

时间:2011-01-20 11:05:55

标签: 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或其他库,因为您可以想象,我正在尝试减少页面上的请求/数据的加载时间/数量。

感谢

2 个答案:

答案 0 :(得分:2)

简单的答案是不要打扰。

您要求的可能性,并且有一堆脚本加载器工具,但这不是重点。那里的脚本设置了按钮,以便它可以在第一时间点击。

如果您真的只想加载脚本,如果有人点击了按钮,那么您必须:

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

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

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

答案 1 :(得分:0)

一个简单的解决方案是在用户点击链接并放入网站时生成脚本标记。你可以使用外部库或jQuery等框架来帮助你吗?