#tag

2011-05-25 8 views
6

PHP में $ _SERVER सरणी मुद्रित करने के लिए कोशिश की के साथ पूर्ण URL प्राप्त करना, फिर भी मैं नहीं मिल सकता है जो मैं चाहता:#tag

http://www.domain.com/#sometaginpage

मैं "sometaginpage" चाहते हैं।

सहायता। धन्यवाद!

+0

ब्राउज़र के कारण .. मुझे लगता है कि जावास्क्रिप्ट में – Harsh

+3

'window.location.hash' लगता है? – Marty

+0

संभावित डुप्लिकेट ["somepage.php # name" में हैश के बाद मान कैसे प्राप्त करें?] (Http://stackoverflow.com/questions/1917762/how-to-get-the-value-after-the- हैश-इन-somepage-phpname) – PhoneixS

उत्तर

9

ब्राउज़र वास्तव में सर्वर पर हैश (#) के बाद आने वाली कुछ भी नहीं भेजता क्योंकि यह ब्राउज़र के भीतर हल हो जाता है।

+0

यह जावास्क्रिप्ट के माध्यम से हल नहीं किया गया है। यह एक एंकर टैग के माध्यम से हल किया जाता है। – netcoder

+0

यह इंगित करने के लिए धन्यवाद, मैं गलत था और मेरा जवाब संपादित किया है। –

+0

धन्यवाद दोस्तों, मैंने अभी जावास्क्रिप्ट का उपयोग समाप्त कर दिया: var url = window.location.toString(); अगर (url.indexOf ("STRING_HERE")! = - 1) {window.location = ".URL_HERE";} – johnshaddad

0

मुझे यकीन नहीं है कि $ _SERVER ['REQUEST_URI'] इसे देगा या नहीं। s992 सही हो सकता है, यह सर्वर को नहीं भेज सकता है।

3

काफी निश्चित है कि #hashtags सर्वर के लिए भेजा नहीं हैं, लेकिन आप AJAX के साथ एक समाधान विकसित कर सकता:

कुछ-page.html:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $(window).bind('hashchange', function() { 
      var hash = window.location.hash.substring(1); 
      $.get('ajax-hash.php', { tag: hash }, 
       function(data) { $('#tag').html(data); } 
      ); 
     }); 
    }); 
</script> 

<div id="tag"></div> 
<a href="#one">#one</a> | <a href="#two">#two</a> | <a href="#lolwut">#lolwut</a> 

ajax-hash.php :

<?php 
    $hash = isset($_GET['tag']) ? $_GET['tag'] : 'none'; 
    echo $_SERVER['HTTP_REFERER'] . '#' . $hash; 
?> 

नोट: यह ब्राउज़र पर वास्तव में HTTP_REFERER भेज रहा है .. चूंकि यह jQuery के माध्यम से किया जाता है, यह चाहिए .. लेकिन कोई वादा नहीं! (एंटीवायरस/फ़ायरवॉल अपने पैकेट से इसे पट्टी करना पसंद करते हैं)

+0

कोड का अच्छा टुकड़ा! मेरे लिए ठीक काम करता है। – leymannx

संबंधित मुद्दे