我有一个编辑器模板,需要包含特定的js库。我希望只有在页面上使用此编辑器时才包含它,并且我想只包含一次,无论使用多少编辑器。我怎么能这样做?
更新
我发现这篇文章:HtmlHelpers for managing scripts for Razor Partial Views它做了我想要的事情(不知道我是如何错过它的)。不幸的是我想要包含的库带有css,这个答案不支持
答案 0 :(得分:1)
你可以做类似于Facebook的事情。在窗口小部件中,您可以通过添加类似于以下的代码来动态加载库,这些代码在运行时添加脚本标记并尝试加载脚本文件。如果组件没有渲染,脚本也不会加载。
<script> (function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>