আমি কীভাবে একটি ইউআরএল থেকে টুকরা সনাক্তকারী (হ্যাশ # এর পরে মান) পাব?


212

উদাহরণ:

www.site.com/index.php#hello

JQuery ব্যবহার করে, আমি মানটি helloএকটি ভেরিয়েবলের মধ্যে রাখতে চাই:

var type = 

আমি অনিশ্চিত, এই প্রশ্নটি jQuery হিসাবে ট্যাগ থাকা এবং এ সম্পর্কে জিজ্ঞাসা করা উচিত কিনা। উত্তরগুলির বেশিরভাগটি jQuery ছাড়াই জেএসে প্রযোজ্য এবং এটি একটি ভাল ডুপ টার্গেটের মতো বলে মনে হচ্ছে।
user4642212

উত্তর:


585

JQuery প্রয়োজন নেই

var type = window.location.hash.substr(1);

154
পর্যাপ্ত jQuery না! (
খালি

2
আমি কেবল শিখেছি যে একটি # 'হ্যাশ' হিসাবে ব্যবহার করা যেতে পারে যা জাভাস্ক্রিপ্টে সনাক্তকারী / কীওয়ার্ড হিসাবে কাজ করে। দুর্দান্ত
ক্লেইন ডিসিলভা

13
আপনি এটির .slice(1)পরিবর্তে ব্যবহার করতে পারেন যার পরিবর্তে .substr(1)পারফরম্যান্সে সামান্য বর্ধন করা উচিত, যদিও এটি বাস্তব জীবনে কোনও পার্থক্য করে না।
ডিভাস

3
ওএমজি, যে কোনও লক্ষণীয় পার্থক্যের জন্য আপনাকে কতবার ইউআরএল হ্যাশ পরীক্ষা করতে হবে? একটি মিলিয়ন? 'পরিমিত বৃদ্ধি' এই প্রসঙ্গে একটি বিশাল বাড়াবাড়ি। :-)
কনরাড

37

আপনি নিম্নলিখিত কোড ব্যবহার করে এটি করতে পারেন:

var url = "www.site.com/index.php#hello";
var hash = url.substring(url.indexOf('#')+1);
alert(hash);

ডেমো দেখুন


4
দ্রষ্টব্য:
সূচিপত্র আইই

4
ভাগ্যক্রমে @ শ্যালককিউন, এখন '18 এ প্রায় শেষ হয়ে গেছে। তবে যাদের এখনও সেই কিংবদন্তিটি মোকাবেলা করতে হবে তাদের পক্ষে এটি সচেতন হওয়া উচিত।
সেবাসতিয়ান অর্ডারম্যান

6
সত্য কথা বলতে গেলে, IE8 এতটা অনিরাপদ, সমস্ত পেমেন্ট গেটওয়েগুলি মূলত যে কোনও ব্রাউজার টিএলএস 1.2 সমর্থন করে না আগামী সপ্তাহে (30 জুন 2018), আপনি এগুলি থেকে কোনও অর্থ প্রদান করতে সক্ষম হবেন না। সুতরাং এটি কোনও পুরানো ক্রেপি ব্রাউজারগুলিকে কোনও ইকমার্স ক্লায়েন্টের জন্য অকেজো করে তোলে।
শচলক কেউন

13
var url ='www.site.com/index.php#hello';
var type = url.split('#');
var hash = '';
if(type.length > 1)
  hash = type[1];
alert(hash);

জেসফিডেলে কাজ করা ডেমো


ifবিবৃতিতে সংক্ষিপ্ত করা যেতে পারে var hash = type[1] || "";
user4642212

7

একটি URL থেকে হ্যাশ (#) এর পরে মান পেতে নিম্নলিখিত জাভাস্ক্রিপ্ট ব্যবহার করুন। এর জন্য আপনার jQuery ব্যবহার করার দরকার নেই।

var hash = location.hash.substr(1);

আমি এখান থেকে এই কোড এবং টিউটোরিয়াল পেয়েছি - জাভাস্ক্রিপ্ট ব্যবহার করে ইউআরএল থেকে হ্যাশ মান পেতে কিভাবে



6

এটা খুব সহজ. নীচের কোডটি ব্যবহার করে দেখুন

$(document).ready(function(){
  var hashValue = location.hash.replace(/^#/, '');  
  //do something with the value here  
});

3
var হ্যাশভ্যালু = লোকেশন.হ্যাশ.রেপ্লেস (/ ^ # /, '');
flakerimi

3

একে'র কোডের ভিত্তিতে এখানে একটি সহায়ক কার্য রয়েছে। জেএস ফিডল এখানে ( http://jsfiddle.net/M5vsL/1/ ) ...

// Helper Method Defined Here.
(function (helper, $) {
    // This is now a utility function to "Get the Document Hash"
    helper.getDocumentHash = function (urlString) {
        var hashValue = "";

        if (urlString.indexOf('#') != -1) {
            hashValue = urlString.substring(parseInt(urlString.indexOf('#')) + 1);
        }
        return hashValue;
    };
})(this.helper = this.helper || {}, jQuery);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.