正如问题所说,我正在开发一个自定义 asp.net 控件,我需要以某种方式让用户知道它需要在页面上引用几个 JS 库。
做这个的最好方式是什么?
正如问题所说,我正在开发一个自定义 asp.net 控件,我需要以某种方式让用户知道它需要在页面上引用几个 JS 库。
做这个的最好方式是什么?
DOM 完全加载后检查是否存在所需的库:
function init() {
if(!jQuery) {
alert('This control requires jQuery');
}
}
window.onload = init;
上面的代码会给你这个想法。修改以满足您的需求。
除了文档之外,我不建议任何其他内容,但如果您真的需要它,您可以在标头中使用另一个脚本检查依赖 JS 对象(在应该插入依赖 JS 的位置之后)并相应地提醒用户。如;
if (typeof someDependencyObject === 'undefined')
{
alert("someDependencyObject is required with SomeASP-NET Control.");
}
但更好的方法是在您的自定义控制代码中注册您自己的脚本,使用ClientScript.RegisterClientScriptBlock
.
<script runat="server">
public void Page_Load(Object sender, EventArgs e)
{
String jsName = "MyCustomScript";
Type type = this.GetType();
// Register the script if not already registered.
if (!Page.ClientScript.IsClientScriptBlockRegistered(type, jsName))
{
StringBuilder js = new StringBuilder();
js.Append("<script type=\"text/javascript\">");
js.Append("function someFunc() { } ");
js.Append("</script>");
Page.ClientScript.RegisterClientScriptBlock(type, jsName, js.ToString());
}
}
</script>
请参阅此处的文档。
我会投票给第二个选项,但我也大量使用 nuget。