2009-09-26 12 views
6

मुझे jQuery में और अधिक मिल रहा है और इसलिए HTML/जावास्क्रिप्ट/सीएसएस बेस साइट सेट अप किया है जो मैं अपने सभी परीक्षणों के लिए उपयोग करता हूं।वर्तमान में सबसे अच्छा HTML/CSS/जावास्क्रिप्ट कॉन्फ़िगरेशन क्या है?

के बाद से इन परीक्षणों अंततः PHP और ASP.NET MVC वेबसाइटों में बदल जाएगी, मैं मूल बातें नीचे यह की चोटी पर पटकथा भाषाओं के निर्माण से पहले आधुनिक ब्राउज़रों और वेब मानकों के लिए सही फिर से प्राप्त करने के लिए इस अवसर का उपयोग करना चाहते हैं।

  • XHTML 1.0 सख्त
  • UTF-8 एन्कोडिंग
  • के रूप में कुछ सीएसएस संदर्भ संभव (के रूप में के लिए 1 सीएसएस फ़ाइल में सब कुछ डाल दिया:

    मैं उपयोग करने के लिए चयन किया है लोडिंग की गति)

  • जितना संभव हो उतना जावास्क्रिप्ट संदर्भ (1 जावास्क्रिप्ट फ़ाइल पी lus jQuery कोड बेस संदर्भ - मैं गूगल jQuery कोड बेस का उपयोग कर यह मानें कि गति के लिए सबसे अच्छा अभ्यास)
  • मैं अपने कोड की जाँच के रूप में मैं इसे http://validator.w3.org

साथ निर्माण है कुछ और मैं कुछ भी करने की जरूरत है विचार करें?

index.htm:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

    <head> 
     <meta http-equiv="content-type" content="text/html;charset=utf-8"/> 
     <title>Text XHTML Page</title> 
     <link href="css/main.css" rel="stylesheet" type="text/css" media="all"/> 
     <script type="text/javascript" src="http://www.google.com/jsapi"></script> 
     <script type="text/javascript" src="javascript/main.js"></script>  

    </head> 

<body> 
    <h1 class="highlightTitle">Text</h1> 
    <p class="main">First</p> 
    <p>Second</p> 
    <p id="selected" class="regular">Third</p> 
    <p>Fourth</p> 

<form action=""> 
    <div> 
     <input type="button" value="highlight it" onclick="highlightIt();countThem()" /> 
     <input type="button" value="highlight title" onclick="highlightTitle()" /> 
     <p>here is another paragraph</p> 
    </div> 
</form> 

</body> 
</html> 

main.cs:

p.highlighted { 
    background-color:orange; 
} 
h1.highlightTitle { 
    background-color:yellow; 
} 
h1.deselected { 
    background-color:#eee; 
} 
p.regular { 
    font-weight: bold; 
} 

main.js

यहाँ अपने परीक्षण वेबसाइटों में से एक का एक उदाहरण है:

google.load("jquery", "1.3.2"); 

function highlightIt() { 
    $('#selected') 
     .toggleClass('highlighted'); 
} 

function countThem() { 
    alert("there are " + $("p.main").size() + " paragraphs"); 
} 

function highlightTitle() { 
    $("h1").toggleClass("deselected"); 
} 
+1

विकल्प आप अच्छे लग रहे किए। xhtml सख्त, utf-8, jquery ... मुझे लगता है कि जब आप कुछ शोध और परीक्षण करते हैं तो यह सामान्य रूप से सबसे अच्छा काम करता है। – markus

उत्तर

5

व्यक्तिगत तौर पर मैं jQuery के माध्यम से क्लिक करें घटना के लिए बाध्य अच्छा जुदाई सुनिश्चित करने के लिए, इस तरह होगा:

$("#yourId").bind("click", highlightIt); 

इस तरह से आप कई ईवेंट हैंडलर्स करने के लिए बाध्य कर सकते हैं। यदि आप केवल AFAIK पर क्लिक करते हैं तो आप केवल एक हैंडलर का उपयोग कर सकते हैं।

BTW आप भी उपयोग कर सकते हैं कस्टम घटना और घटना नामस्थान:

$("#yourId").bind("beforeHighlighting", doSomething); 

$("#yourId").trigger("beforeHighlighting"); 

और

$(".hasAHelptext").bind("helptext.click", showHelptextFct); 
$(".hasAHelptext").bind("click", otherFct); 

// will only remove the showHelptextFct event handler 
$(".hasAHelptext").unbind("helptext.click"); 

HTH से शुरू हो रहा एलेक्स

+0

धन्यवाद, हां, अविभाज्य जावास्क्रिप्ट एक और डिज़ाइन लक्ष्य है जिसे मैं इन उदाहरणों के निर्माण के साथ चिपके रहूंगा, अभी तक इसे इस उदाहरण में नहीं बनाया है :-( –

5

<script> ब्लॉक bottom of the page पर ले जाएं।

+1

हम्म, जब तक पेज पूरी तरह से लोड नहीं हुआ, तब तक मैं jquery प्रभावों का अनुभव करने के बाद उन्हें पृष्ठ के शीर्ष पर स्पष्ट रूप से स्थानांतरित कर दिया, उदाहरण के लिए मेरे पास एक फ्लैशकार्ड साइट थी जहां उपयोगकर्ता को फ्लैशकार्ड को फ्लिप करने में सक्षम होने से पहले पूर्ण पृष्ठ (5 सेकंड) लोड करने के लिए इंतजार करना पड़ा था, लेकिन मैं यह सुनता रहता हूं कि यह सबसे अच्छा अभ्यास है, लेकिन अगर यह ऐसी साइटें खराब नहीं हो सकती http://www.apple.com के पृष्ठ के शीर्ष पर 12 (बारह) स्क्रिप्ट संदर्भ हैं। –

+3

ब्राउज़र आमतौर पर एक समय में लोडिंग जावास्क्रिप्ट एक फ़ाइल को संभालने में संभालते हैं। यदि आप उन्हें अंत तक ले जाते हैं तो आपका पृष्ठ आमतौर पर तेज़ी से लोड हो जाएगा क्योंकि जावास्क्रिप्ट लोडिंग शुरू होने से पहले अन्य सभी अनुरोधों को समानांतर में संभाला जाएगा। यदि आपका पृष्ठ लोड करने में वास्तव में लंबा समय लगता है और इंटरफ़ेस ऐसा करने तक ठीक से काम नहीं करता है, तो हो सकता है कि आप एक लोडिंग संदेश प्राप्त कर सकें जो इंटरफ़ेस उपलब्ध होने तक वास्तविक सामग्री के साथ दिखाई दे। लोड किए गए जावास्क्रिप्ट के आखिरी बिट में लोडिंग छवि को हटाने और इंटरफ़ेस प्रकट करने के लिए कोड होगा। – tvanfosson

4

सामान्य रूप से सीएसएस और जेएस फाइलों के संबंध में, मैं विकास के दौरान सभी जेएस फ़ाइलों को एक ही फाइल में संयोजित नहीं करता। एक बड़ी जेएस फ़ाइल में विकसित करना बहुत मुश्किल हो जाता है। इसके बजाय एक मॉड्यूल का उपयोग करें जो उन्हें फ्लाई या तैनाती के दौरान जोड़ता है।

मैं आमतौर पर (दोनों सीएसएस और जे एस) के साथ जाना:

एक सामान्य फ़ाइल:

  • project.css

और प्रति पृष्ठ एक:

  • project_welcome .css

और किसी विशेष घटक (लॉगिन नियंत्रण, विज्ञापन क्षेत्र दृश्य आदि) के पास एक अलग भी है।

इस तरह आप कुछ आयोजन तकनीकों को लागू कर सकते हैं और उस बड़ी फ़ाइल को पागल नहीं कर पाएंगे।

HTH एलेक्स

+0

सेकेंड, कम फाइलें होने से कोई गति लाभ नहीं आएगा, मैं विपरीत पर शर्त लगाऊंगा। यह पहले अनुरोध के बाद भी कैश किया गया है। – simon

+0

हमम, मेरे PHP वेबसाइटों में दर्जनों जावास्क्रिप्ट फाइलें थीं लेकिन मैंने अब एक स्विच करने का फैसला किया क्योंकि मैं पढ़ता रहता हूं कि "प्रति होस्टनाम के साथ दो एक साथ डाउनलोड" समस्या वेबसाइटों के लिए सबसे बड़ी गति बाधाओं में से एक है, सच नहीं है? –

+0

हां मैं पुष्टि कर सकता हूं कि यदि आप एक समान दृष्टिकोण का उपयोग करते हैं जैसा कि मैंने बताया है कि आप 50+ जेएस + सीएसएस फ़ाइलों को लोड करने की कोशिश कर रहे ब्राउज़र के साथ आसानी से समाप्त कर सकते हैं, जो पहली हिट पर लंबे समय तक ले जाएगा। और प्रत्येक अपडेट के बाद भी ऐसा ही होता है ... बेशक कैश उसके बाद किक-इन करेगा, लेकिन इससे कोई फर्क नहीं पड़ता कि आपका लोडर पहले लोडिंग समय के बाद वापस नहीं आया है। और एक बार जेएस फ़ाइल में संसाधित करने के बाद जेएस को कम करने जैसी चीज़ें आसान होती हैं। –

0

मैं जे एस बॉडी टैग नीचे कॉल डाल सिफारिश करेंगे। यदि आपकी स्क्रिप्ट लटक रही हैं, तो पृष्ठ लोड हो सकता है और तथ्य के बाद व्यवहार (जेएस) लोड कर सकता है। मैंने देखा है कि गति इस विधि के साथ काफी सुधार करती है।

इस चेक आउट: http://stevesouders.com/hpws/rule-js-bottom.php

मेरे लिए
संबंधित मुद्दे