正しいJQueryの使用時にMasterPages ASP.NET?
-
06-09-2019 - |
質問
い問題がJQueryを使うにはaspxページなmasterpageしてしまっているんですけど利用するようにしているページがmasterpageされているとは思いませんが、もしそのものを、jqueryファイルおよびその他のスクリプトファイルのページの代わりになっている。現している場合は10ページんでいるのはこのすべての10ので、私が間違っています。のサンプルmasterpage以下が私のスクリプトファイルです。
<html>
<head runat="server">
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<asp:ContentPlaceHolder ID="ContentPanel" runat="server">
</asp:ContentPlaceHolder>
</body>
</html>
私は最近のfancyboxプラグインのなかったのではなく、jqueryスクリプトおよびfancyboxスクリプトのmasterpageがあったから、ああいう悔にできるのではないかと考えて仕事だけで、ページがたかったので、スクリプトを具体的には下部に、右のアです。もちろん、今回の問題がたかったのfancyboxプラグインに他のページではないし、jqueryスクリプトおよびfancyboxスクリプトのすべて5ページだけでなく、masterpage.処理時masterpagesがなものを用いていますのでご注意ください。▼
解決
いを宣言するメインjQueryスクリプト内のページでは、しば:
<head runat="server">
<link href="/Content/Interlude.css" rel="Stylesheet" type="text/css" />
<script type="text/javascript" src="/Scripts/jquery-1.3.2.min.js"></script>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
その他の特定のページのJSファイルが読み込内のコンテンツの管理を参照のヘッドContentPlaceholder.
しかし、より良いオプションは、 ScriptManager や ScriptManagerProxy 管理の下でこれらを提供することができます管理のJSファイルにするサービスです。
そうScriptManager制御をマスターのページに追加参照のjQueryコアコード:
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="/Scripts/jquery-1.3.2.min.js" />
</Scripts>
</asp:ScriptManager>
そして、ページを必要とするいくつかのカスタムJSファイルやjQueryプラグインできてい:
<asp:Content ID="bodyContent" ContentPlaceholderID="body">
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
<Scripts>
<asp:ScriptReference Path="/Scripts/jquery.fancybox-1.2.1.pack.js" />
</Scripts>
</asp:ScriptManagerProxy>
のScriptManagerできるような制御がページのスクリプトは用してレンダリング LoadScriptsBeforeUI (しみいただけるよう、設定するFalse)です。
他のヒント
私は、このメソッドを使用します。
<script type="text/javascript" language="javascript" src='<%=ResolveUrl("~/scripts/jquery.js") %>' ></script>
ちょうどあなたのタグの上に置きます...
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
さてさて、スクリプトに異なるのContentPlaceHolderを使用しています。それは次のようになります。
<script type="text/javascript" src="myscript.js" />
<asp:ContentPlaceHolder ID="ScriptContent" runat="server">
</asp:ContentPlaceHolder>
</body>
タグに近いあなたのマスターページの下部に、時にこのタグを配置します。これは、あなたが同様にあなたのページにもマスターページにスクリプトを追加してできるようになります。スクリプトは、ページのソースを表示し、正しい方法でレンダリングされたHTMLを確保することによって、正しい順序でロードされていることを確認します。幸運を。
ああもう一つは、あなたがそこに持っているか、あるいはそうでなければ動作しません、他のjs前にアップロードFancyBoxその後、確認jQueryを作って。それは呼ばれていたためにJavascriptをロードし、jQueryのは、最初にロードする必要があります!
これはマスター ページ内で機能するものです。
スクリプトファイルの場合:
<script type="text/javascript" src="<%= ResolveUrl("~/script/scriptFile.min.js") %>"></script>
CSS ファイルの場合:
<link rel="stylesheet" href="~/styles/CssFile.min.css" runat="server" />
その他の注意事項:
- 可能な限りミニ型バージョン(filename.min.js)と(filename.min.css)を使用して、荷重時間を短縮し、SEOを改善します。
- CSS を前に置きます
</head>
そしてその前のスクリプト</body>
パフォーマンスを向上させ、SEOを改善します。 - パス内のタイル文字 (~) は、Web サイトのルートに自動的に解決されます。
- 忘れずに使用してください
runat="server"
スタイルシートのみ。スクリプトには次のものがあってはなりませんrunat="server"
すでにサーバーオペレーターを使用しているため<%= %>
. - オンラインでご利用いただけます http://jscompress.com/ JavaScript を圧縮し、 https://csscompressor.net/ CSS ファイルを圧縮します。