2012-10-30 5 views
5

के सामने हैश टैग रिटर्न मैं MVC3 ध्यान में रखते हुए निम्नलिखित कोड है:window.location.hash मूल्य

$(document).ready(function() { 
    if (window.location.hash) { 
     var manager= new Manager(); 

     manager.doSomeStuff(window.location.hash); 
    } 
}); 

दिलचस्प बात यह है जब वहाँ URL में कोई हैश टैग है, या फिर केवल है एक हैश टैग उदाहरण:

http://localhost:1223/Index/AboutUs 

http://localhost:1223/Index/AboutUs# 

जब window.location.hash खाली है और समारोह निष्पादित नहीं है। लेकिन जब वहाँ हैश टैग में कुछ मूल्य है:

http://localhost:1223/Index/AboutUs#categoryId=5&manufacturerId=8 

window.location.hash में मूल्य क्यों # टैग मूल्य में शामिल है और क्यों होता है जब है वहाँ कोई #categoryId=5&manufacturerId=8

तुम मेरी बात की व्याख्या कर सकते है # टैग के बाद मूल्य, window.location.hash खाली है।

+0

हाँ यह करता है ??? – adeneo

उत्तर

9

व्याख्या करने के लिए कुछ भी नहीं है। यह जिस तरह से काम करता है।

यहां अधिक पढ़ें: http://www.w3schools.com/jsref/prop_loc_hash.asp

परिभाषा और उपयोग

The hash property returns the anchor portion of a URL, including the hash sign (#). 
+0

हां, मैंने परिभाषा देखी, लेकिन ऐसा लगता है कि हैश चिह्न मूल्य के साथ वापस आ गया है। यही कारण है कि मैंने सवाल पूछा। साथ ही जब आप window.location.hash मान सेट कर रहे हैं, तो आपको स्ट्रिंग में हैश साइन जोड़ने की आवश्यकता नहीं है। –

8

आप इसे बदल सकते हैं अगर आप बस हैश नाम बदलकर हैं:

//Your old hash name caught in a variable 
var nameHash = location.hash; 

//Your new hash name without "#" 
var newHashName = nameHash.replace("#",""); 
+0

यदि हैश में कोई अन्य '#' वर्ण है तो यह अवांछनीय परिणाम उत्पन्न कर सकता है। – Bernard

1

You can repalce # लेकिन इस तरह से संघर्ष पैदा करेगा और जावास्क्रिप्ट के साथ काम नहीं करेगा।

Here is window.location reference link.

यहाँ है विभिन्न उपयोग के उदाहरण:

$(document).ready(function() { 
    var urlHash = window.location.hash; 
    var sampleURL = '#categoryId=5&manufacturerId=8'; 

    if (urlHash.length > 1) { 
     //do stuff 
    }else{ 
     //if value is empty, do stuff 
    } 

    if (urlHash === sampleURL) { 
     commonResponse(); 
    } 

    $('a').click(function() { 
     var target = $(this).attr('href'); 

     if (target === sampleURL) { 
      commonResponse(); 
     }  
    }); 

    function commonResponse() { 
     //alert('ok'); 
    } 
}); 
7
var hash = window.location.hash.substring(1); 

इस स्ट्रिंग है, जो हैश टैग है का पहला वर्ण अस्वीकार करते हैं।