如何在运行时将Web小部件动态添加到页面

时间:2010-10-06 16:04:49

标签: javascript html

我有一个页面,我想演示一些Web小部件。当用户单击“添加小部件”按钮时,我想在空白DIV中动态添加他/她在同一页面上选择的小部件。例如,以下是Addthis按钮的代码。我尝试使用javascript将其添加到DOM中。我尝试了innerHTML和document.write(),但都不起作用。标签最终在DOM中,但是src指向的javascript代码永远不会被执行。


<div class="addthis_toolbox addthis_default_style">
<a href="http://www.addthis.com/bookmark.php?v=250&amp;username=xa-4cac9ad61a93c252" class="addthis_button_compact">Share</a>
</div>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#username=xa-4cac9ad61a93c252"></script>

如何获取动态添加的javascript来执行,或者这是不可能的?请帮忙。感谢。

2 个答案:

答案 0 :(得分:0)

您始终可以包含addThis脚本块,并且只在需要时插入DIV标记。这样,无论是否使用脚本,脚本总是运行。

问题是出于安全原因(XSS),浏览器不允许您在页面加载完成后加载来自外部URL的脚本。此外,包括脚本标记不会自动执行它。

答案 1 :(得分:0)

这个怎么样?

function loadScript(url){
   var element1 = document.createElement("script");
   element1.src = url;
   element1.type="text/javascript";
   document.getElementsByTagName("head")[0].appendChild(element1);
}