jquery, ডোমেন, ইউআরএল পান


140

কিভাবে আমি jquery দিয়ে ডোমেন নাম পেতে পারি ??

উত্তর:


335

এর জন্য আপনার jQuery দরকার নেই, কারণ সরল জাভাস্ক্রিপ্ট যথেষ্ট হবে:

alert(document.domain);

এটি কর্মে দেখুন:

console.log("Output;");  
console.log(location.hostname);
console.log(document.domain);
alert(window.location.hostname)

console.log("document.URL : "+document.URL);
console.log("document.location.href : "+document.location.href);
console.log("document.location.origin : "+document.location.origin);
console.log("document.location.hostname : "+document.location.hostname);
console.log("document.location.host : "+document.location.host);
console.log("document.location.pathname : "+document.location.pathname);

আরও ডোমেন-সম্পর্কিত মানগুলির জন্য, window.locationঅনলাইনের বৈশিষ্ট্যগুলি পরীক্ষা করে দেখুন । আপনি এটি দেখতে পারেন যে location.hostএটি একটি ভাল বিকল্প, কারণ এর বিষয়বস্তু থেকে পৃথক হতে পারে document.domain। উদাহরণস্বরূপ, ইউআরএলটিতে http://192.168.1.80:8080কেবল আইপ্যাড্রেস থাকবে document.domainতবে আইপ্যাড্রেস এবং পোর্ট উভয়ই এতে থাকবে location.host


7
@ rob.alarcon এটি একটি ডাব্লু 3 সি সুপারিশ এবং এটি পুরানো এবং নতুন ব্রাউজারগুলির মধ্যে খুব বিস্তৃত সমর্থন। কেবলমাত্র আমি জানি যে কয়েকটি ব্রাউজার ( যেমন ফায়ারফক্স ) আপনাকে এই সম্পত্তিটিতে লিখতে দেবে (স্পেস অনুসারে কেবল পঠনযোগ্য) যতক্ষণ না নতুন মান আসল ডোমেনের একটি সাবডোমেন।
সাম্পসন

4
আমি আসলে window.location.host(বিবি পোস্ট হিসাবে) ব্যবহার করার পরামর্শ দেব। আমি কেবল একটি বাগ ঠিক করেছি যেখানে document.domainসাবডোমেনের পরিবর্তে রুট ডোমেনে সেট করা হয়েছিল।
ডেরেক মরিসন

আইই ১১ এ document.location.originরিটার্ন দেয় undefined
টিমোথিবুক্টু

113

সম্পাদনা করুন:

আপনার যদি আই 1010 সমর্থন করার প্রয়োজন না হয়, আপনি কেবল ব্যবহার করতে পারেন: document.location.origin

আসল উত্তর, আপনার যদি লিগ্যাসি সমর্থন প্রয়োজন হয়

আপনি অবস্থানের বিষয়টি পরীক্ষা করে আরও অনেক কিছু পেতে পারেন:

location = {
  host: "stackoverflow.com",
  hostname: "stackoverflow.com",
  href: "http://stackoverflow.com/questions/2300771/jquery-domain-get-url",
  pathname: "/questions/2300771/jquery-domain-get-url",
  port: "",
  protocol: "http:"
}

তাই:

location.host 

ডোমেন হবে, এক্ষেত্রে stackoverflow.com। ইউআরএল এর সম্পূর্ণ প্রথম অংশের জন্য, আপনি ব্যবহার করতে পারেন:

location.protocol + "//" + location.host

যা এই ক্ষেত্রে http://stackoverflow.com হবে

কোন jQuery প্রয়োজন।



@ সম্পূর্ণ ইউআরএলের জন্য, কেন ব্যবহার document.location.originকরবেন না যার ফলস্বরূপ https://stackoverflow.com হবে । এই পদ্ধতিতে যথাযথ প্রোটোকল রয়েছে
নাথিলিও

33

সেখানে উত্তর আগে অনুরূপ

location.host

অবস্থানের গ্লোবালটিতে বর্তমান ইউআরএল সম্পর্কে আরও মজাদার তথ্য রয়েছে। (প্রোটোকল, হোস্ট, পোর্ট, পথের নাম, অনুসন্ধান, হ্যাশ)


20

আপনার মতো যদি আমার মতো স্ট্রিংয়েরও প্রয়োজন হয় তবে এই ফাংশনটি ব্যবহার করুন - এটি সত্যিই কাজ করে।

function getHost(url)
{
    var a = document.createElement('a');
    a.href = url;
    return a.hostname;
}

তবে মনে রাখবেন, ইউআরএলটিতে সাবডোমেন (যেমন www।) থাকলে এটি হোস্টনামের সাথে ফিরে আসবে। বিপরীতে, সাবডোমেন না থাকলে হোস্টনামের একটিও থাকবে না।


@ ভোপা পপভ (বা কেউ) দয়া করে শেষ বাক্যটি পরিষ্কার করতে পারেন? "www। আর কোন www।"?!?
র্যান্ডল কুক

2
তিনি বলছেন যে এ.হোস্টনাম www ফেরত দেবে। এটি আপনার ডোমেনের অংশ। সুতরাং অন্য কথায়, এটি মিথ্যা হবে: getHost('http://www.google.com') == 'google.com'যদিও এটি সত্য হবে:getHost('http://google.com') == 'google.com'
মিলিমেট্রিক

9

বর্তমান ইউআরএলের বিভিন্ন পরামিতি পেতে আপনি নীচের কোডগুলি ব্যবহার করতে পারেন

alert("document.URL : "+document.URL);
alert("document.location.href : "+document.location.href);
alert("document.location.origin : "+document.location.origin);
alert("document.location.hostname : "+document.location.hostname);
alert("document.location.host : "+document.location.host);
alert("document.location.pathname : "+document.location.pathname);

হোস্টটি যেখানে ডকুমেন্টের পরিবর্তে জেএস ফাইলটি হোস্ট করা যায় সেখানেও উপায় আছে? এটিএম। আমি এই "সংযোগ" স্ট্রিংটি পেতে কাজ করে যাএসএস ফাইল সার্ভারের পাশ দিয়ে চালিত করছি যা কাজ করে তবে অকার্যকর বলে মনে হয় কারণ আমি একটি স্ট্যাটিক জেএস ফাইল পছন্দ করি prefer
ইয়েলওসির

6

jQuery প্রয়োজন হয় না, সহজ জাভাস্ক্রিপ্ট ব্যবহার করুন:

document.domain

সম্ভবত এটির প্রয়োজন নেই তবে এই বলে যে আপনি প্রশ্নের উত্তর দিচ্ছেন না
এমিলিয়ানো

হ্যাঁ, আমি এমন কোনও রোবট নই যা প্রশ্নের উত্তরকে উত্তর দেয়। আমি শেষের লক্ষ্যটি কী তা জেনে প্রাগ্যভাবে প্রশ্নের উত্তর দিয়েছি এবং লক্ষ্যটি অর্জনের জন্য আপনার জিক্যুরির দরকার নেই।
অ্যাডাম

আমি বুঝতে পেরেছি তবে এই ধরণের উত্তর সম্পূর্ণ নয়, আপনি যদি চান তবে আপনি আরও ভাল উত্তর দিতে পারেন
এমিলিয়ানো

3

document.baseURIআপনাকে ডোমেন + পোর্ট দেয়। এটি ব্যবহার করা হয় যদি কোনও চিত্র ট্যাগ কোনও পরম পাথের পরিবর্তে কোনও আত্মীয় ব্যবহার করে। সম্ভবত ইতিমধ্যে সমাধান হয়েছে, তবে এটি অন্যান্য ছেলেদের জন্য কার্যকর হতে পারে।



1

এটা যাচাই কর

alert(window.location.hostname);

এটি হোস্টের নামটি www.domain.com হিসাবে ফিরিয়ে দেবে


0

আমি যতদূর দেখতে পাচ্ছি যে কেউ jquery সমাধানটি পোস্ট করেন নি তবে নেটিভ জাভাস্ক্রিপ্ট কোড।

আপনাকে স্ট্রিং হিসাবে ইউআরএল পাস করতে হবে এবং এটি রেজিপ্যাক্স ব্যবহার না করে হোস্টটি পাবে।

function getHostFromUrl(urlString) {
    return $a = $('<a>', {
        'href': urlString
    }).prop('host');
}

-2
//If url is something.domain.com this returns -> domain.com
function getDomain() {
  return window.location.hostname.replace(/([a-z]+.)/,"");
}

-4
//If url is something.domain.com this returns -> domain.com
function getDomain() {
  return window.location.hostname.replace(/([a-zA-Z0-9]+.)/,"");
}

3
তবে যদি ইউআরএলটির ইতিমধ্যে উপসর্গ না থাকে তবে এটি ডোমেন নামটি সরিয়ে ফেলবে .. উদাহরণ: "
স্ট্যাকোভ্লো ডট

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.- জেমি
জাওনস্কি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.