簡體   English   中英

保持我的jQuery代碼遠離html文件

[英]Keeping my jQuery code away from the html files

我正在學習jQuery並創建了幾個插件。 不幸的是,由於我公司的編碼實踐,他們希望將所有javascript代碼提取到js文件。 這對我來說有兩個挑戰:

  1. 我可以提取實際的$(document).ready(..)調用js文件嗎? 到目前為止,由於我的知識有限,我還沒有想到這是否可能。 如果沒有,我歡迎任何建議,使這種代碼更清晰,更可接受。
  2. 因為我可能正在使用幾個插件,所以每個asp.net頁面標題包含太多javascript。 有沒有辦法減少每次需要這些文件時我需要進行的潛在昂貴的服務器跳閘?

任何建議,更正都非常感謝

謝謝

1.絕對。

只需在html中添加一個腳本引用,如下所示:

<script type='text/javascript' src='js/yourfile.js'></script> 

然后用。啟動你的.js文件

jQuery(function() {
  foo;
  ...
  bar;
});

或任何其他快捷方式啟動jQuery代碼塊。

2.您應該通過Minify之類的操作運行腳本,然后再將其發送給用戶。 這將合並文件並很好地打包它們,這樣它們占用的空間更少。

在外部javascript文件中使用$(document).ready()很好 - 它將完全相同:)事實上 - 它不僅會起作用,而且它是一個很好的做法,因為它有助於分離內容(HTML)行為(Javascript)。

在回答您的部分問題時 - 您可以將所有插件合並到一個javascript文件中,並鏈接到<head>中的那個。 你也可以嘗試縮小腳本,雖然這通常有點矯枉過正,直到網站上線。

當我使用jQuery時,我通常使用這種結構:

<html>
  <head>
    <!-- html tags such as title, link, meta etc -->
    <script type="text/javascript" src="/path/to/jquery.js"></script>
    <script type="text/javascript" src="/path/to/plugin.js"></script>
    <!-- more plugins included if required -->
  </head>
  <body>
    <!-- html here -->

    <!-- script is the last thing before the ending body tag (increases performance) -->
    <script type="text/javascript" src="/path/to/your_jQuery_code.js"></script>
  </body>
</html>

我認為擔心javascript包含的服務器出行是不成熟的優化。 你有證據表明這些頁面加載緩慢嗎? 瀏覽器應該緩存javascript文件。

如果你確實有證據表明這是一個問題,你可以

- 將jquery代碼和任何插件組合到一個文件中
- 寫一個.net內容處理程序為你做這個(可能是矯枉過正)

然后,您可以每頁添加一個自定義js文件來處理頁面特定的屬性。

您絕對可以將document.ready和所有其他JavaScript代碼放在外部文件中。

通常我有2個調用 - 一個用於jQuery本身,還有一個縮小的global.js文件,它結合並縮小了我的所有單個文件。

就個人而言,我喜歡使用前端攪拌機 ,但也有許多其他選擇。

document.ready放在外部文件中已經沒有錯了。 事實上,這是我將我的js與html分開的方法。 如果您擔心某些頁面上運行的某些功能,您可以使用

var path = window.location.pathname;
if (path == "/yourdir/yourpage.html") {
    //do something for this page only
}

或者您只能在某些頁面上包含某些文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM