Πώς μπορείτε να ελέγξετε για ένα #hash σε μια διεύθυνση URL χρησιμοποιώντας JavaScript;

Έχω κάποιο κώδικα jQuery/JavaScript που θέλω να εκτελείται μόνο όταν υπάρχει ένας σύνδεσμος άγκυρας hash (#) σε μια διεύθυνση URL. Πώς μπορείτε να ελέγξετε για αυτόν τον χαρακτήρα χρησιμοποιώντας JavaScript; Χρειάζομαι ένα απλό τεστ που θα ανιχνεύει URL όπως αυτά:

  • html#anchor`.
  • example.com/page.html#anotheranchor

Βασικά, κάτι που να μοιάζει με το εξής:

if (thereIsAHashInTheUrl) {        
    do this;
} else {
    do this;
}

Αν κάποιος θα μπορούσε να μου δείξει τη σωστή κατεύθυνση, θα το εκτιμούσα πολύ.

Λύση

Απλό:

if(window.location.hash) {
  // Fragment exists
} else {
  // Fragment doesn't exist
}
Σχόλια (11)

Βάλτε τα εξής:

<script type="text/javascript">
    if (location.href.indexOf("#") != -1) {
        // Your code in here accessing the string like this
        // location.href.substr(location.href.indexOf("#"))
    }
</script>
Σχόλια (1)

Το έχετε δοκιμάσει αυτό;

if (url.indexOf('#') !== -1) {
    // Το Url περιέχει ένα #
}

(Όπου url είναι το URL που θέλετε να ελέγξετε, προφανώς.)

Σχόλια (0)