質問にあるように、私はカスタムasp.netコントロールを開発しており、ページで参照するにはいくつかのJSライブラリが必要であることをユーザーに通知する必要があります。
これを行うための最良の方法は何ですか?
質問にあるように、私はカスタムasp.netコントロールを開発しており、ページで参照するにはいくつかのJSライブラリが必要であることをユーザーに通知する必要があります。
これを行うための最良の方法は何ですか?
DOMが完全にロードされたら、必要なライブラリが存在するかどうかを確認します。
function init() {
if(!jQuery) {
alert('This control requires jQuery');
}
}
window.onload = init;
上記のコードはあなたにアイデアを与えるでしょう。ニーズに合わせて変更します。
2番目のオプションに投票しますが、nugetも頻繁に使用します。
ドキュメント以外は提案しませんが、本当に必要な場合は、ヘッダー内の別のスクリプト(依存関係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>
こちらのドキュメントを参照してください。