1

正如问题所说,我正在开发一个自定义 asp.net 控件,我需要以某种方式让用户知道它需要在页面上引用几个 JS 库。

做这个的最好方式是什么?

4

3 回答 3

0

DOM 完全加载后检查是否存在所需的库:

function init() {
    if(!jQuery) {
        alert('This control requires jQuery');
    }
}

window.onload = init;

上面的代码会给你这个想法。修改以满足您的需求。

于 2013-01-16T22:50:24.673 回答
0

除了文档之外,我不建议任何其他内容,但如果您真的需要它,您可以在标头中使用另一个脚本检查依赖 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>

请参阅此处的文档

于 2013-01-16T21:05:00.927 回答
0
  1. 注释
  2. 使用您的 asp.net 控件和所需的 JavaScript 库创建一个 nuget 包。

我会投票给第二个选项,但我也大量使用 nuget。

于 2013-01-16T20:38:32.090 回答