質問

い問題が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.

しかし、より良いオプションは、 ScriptManagerScriptManagerProxy 管理の下でこれらを提供することができます管理の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" />

その他の注意事項:

  1. 可能な限りミニ型バージョン(filename.min.js)と(filename.min.css)を使用して、荷重時間を短縮し、SEOを改善します。
  2. CSS を前に置きます </head> そしてその前のスクリプト </body> パフォーマンスを向上させ、SEOを改善します。
  3. パス内のタイル文字 (~) は、Web サイトのルートに自動的に解決されます。
  4. 忘れずに使用してください runat="server" スタイルシートのみ。スクリプトには次のものがあってはなりません runat="server" すでにサーバーオペレーターを使用しているため <%= %>.
  5. オンラインでご利用いただけます http://jscompress.com/ JavaScript を圧縮し、 https://csscompressor.net/ CSS ファイルを圧縮します。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top