বর্তমান পৃষ্ঠা থেকে জাভাস্ক্রিপ্ট ব্যবহার করে হোস্ট url কীভাবে পাবেন


179

প্রদত্ত যে আমি নিম্নলিখিত পৃষ্ঠায় আছি:

http://www.webmail.com/pages/home.aspx

আমি কীভাবে "http://www.webmail.com"জাভাস্ক্রিপ্ট দিয়ে হোস্টের নাম ( ) পুনরুদ্ধার করতে পারি ?


উত্তর:


316
var host = window.location.hostname;

বা সম্ভবত

var host = "http://"+window.location.hostname;

বা আপনি যদি কনকনেটেশন পছন্দ করেন

var protocol = location.protocol;
var slashes = protocol.concat("//");
var host = slashes.concat(window.location.hostname);

3
httpযদিও নির্দিষ্ট না। আপেক্ষিক প্রোটোকল ব্যবহার করুন। হার্ড কোডিংয়ের চেয়ে আরও উপযুক্ত হতে পারে।
ডার্ট এগারিজিয়াস

32
হোস্ট নামের পরিবর্তে window.location.host ব্যবহার করুন, অথবা যদি পোর্ট 80. নয় এটা ব্যর্থ হবে
স্টিফান Steiger

1
@ ম্যাটব্রাউন এমন কোনও কিছু নিয়ে কাজ করার সময় যা একটি স্ট্রিং তৈরি করতে পারে আমি বলি যে আপনার সবসময় ব্যবহার করা উচিত concat। উদাহরণস্বরূপ var a = 1 + 2 + " should be 12";, এটির কনক্যাট সংস্করণ বনাম var a = "".concat(1).concat(2).concat(" should be 12");। কনক্যাট ব্যবহার করা আপনাকে অনেক সমস্যা বাঁচাতে পারে +গণনা করার জন্য, কনকেন্টেশন নয়।
এরিক হার্লিটজ

3
hostnameশুধুমাত্র ডোমেন দেবে এবং hostপোর্টও সরবরাহ করবে। এটি লিখিত
লুকাস লাইসিস

4
উইন্ডো.লোকেশন.রিগিন খুব ভাল কাজ করে - এতে প্রোটোকল এবং বন্দর অন্তর্ভুক্ত রয়েছে।
rothschild86

95

হোস্টের নাম পেতে: location.hostname

তবে আপনার উদাহরণটিও এই স্কিমটির সন্ধান করছে, তাই location.originআপনি ক্রোমে যা চান তা করতে দেখা যায়, তবে মোজদেব ডক্সে উল্লেখ নেই। আপনি এটি দিয়ে নির্মাণ করতে পারেন

location.protocol + '//' + location.hostname

আপনি যদি পোর্ট নম্বরটিও চান (তবে এটি 80 নয়) তবে:

location.protocol + '//' + location.host

ফায়ারফক্স 4 এটি মনে হচ্ছে না যদিও ক্রোম 12 রয়েছে। এটি একটি নির্দিষ্টকরণে সংজ্ঞায়িত করা হয়?
ডেলান আজাবানী

হাই..বন্দরটি পাওয়ার জন্য, উদাহরণটি মনোমুগ্ধকর মতো কাজ করেছিল..এর জন্য ধন্যবাদ
কে

এফএফ
21..0

67

আপনি এটি ব্যবহার করে প্রোটোকল, হোস্ট এবং পোর্ট পেতে পারেন:

window.location.origin

ব্রাউজার সামঞ্জস্য

ডেস্কটপ

| Chrome                           | Edge  | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit)                            |
|----------------------------------|-------|-----------------|-------------------|-------|--------------------------------------------|
| (Yes)                            | (Yes) | (Yes)           | (Yes)             | (Yes) | (Yes)                                      |
| 30.0.1599.101 (possibly earlier) | ?     | 21.0 (21.0)     | 11                | ?     | 7 (possibly earlier, see webkit bug 46558) |

মুঠোফোন

| Android                          | Edge  | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile                              |
|----------------------------------|-------|------------------------|----------|--------------|--------------------------------------------|
| (Yes)                            | (Yes) | (Yes)                  | (Yes)    | (Yes)        | (Yes)                                      |
| 30.0.1599.101 (possibly earlier) | ?     | 21.0 (21.0)            | ?        | ?            | 7 (possibly earlier, see webkit bug 46558) |

সমস্ত ব্রাউজারের সামঞ্জস্যতা মজিলা বিকাশকারী নেটওয়ার্ক


4
আমার উল্লেখ করা উচিত IE এটি সমর্থন করে না।
মনসো

দয়া করে উল্লেখ করুন যে এটি একটি নতুন বৈশিষ্ট্য এবং পুরানো ব্রাউজারগুলির দ্বারা সমর্থিত নয়।
কবিরবিধ্যা

@ কবিরবৈধ্য কীভাবে ভার্জিক সামঞ্জস্যতা সম্পর্কে!
মনসো

ভাল. তবে যখন এমডিএন ছেলেরা ব্রাউজারের সামঞ্জস্যতা টেবিলটি আপডেট করে, তখন নতুন ব্রাউজার প্রকাশের সাথে প্রায়শই ঘটে। তাদের টেবিলের সাথে সিঙ্ক করার জন্য আপনার এটি আপডেট করা চালিয়ে যেতে পারে;)।
কবিরবিধ্যা

সত্যই নয়, এটি সমর্থন করার জন্য এটি প্রাথমিকতম সংস্করণগুলি সর্বশেষতম নয় এবং সমস্ত ব্রাউজার তারা ইতিমধ্যে এটি সমর্থন করে। এটি কেবল তখন পরিবর্তন হবে যদি তারা অন্য কোনও ব্রাউজারকে অন্তর্ভুক্ত করার সিদ্ধান্ত নেয় তবে কিছু সমর্থিত ব্রাউজারের সংস্করণ নম্বরগুলি বের করতে পারে যা বেশিরভাগ নতুন তাদের প্রাথমিক প্রকাশের কারণে somewhat
মনসো



4

আপনার প্রয়োজনের উপর নির্ভর করে আপনি একটি বৈশিষ্ট্য ব্যবহার করতে পারেন window.location। আপনার প্রশ্নে আপনি হোস্ট সম্পর্কে জিজ্ঞাসা করছেন যা window.location.hostname(যেমন www.example.com) ব্যবহার করে পুনরুদ্ধার করা যেতে পারে । আপনার উদাহরণে আপনি এমন কিছু দেখাচ্ছে যা বলা হয় উত্স , যা ব্যবহার করে পুনরুদ্ধার করা যেতে পারে window.location.origin(যেমন http://www.example.com)।

var path = window.location.origin + "/";

//result = "http://localhost:60470/"

2

আমি উদ্দেশ্য অনুসারে এটি পছন্দ করি

window.location.href.split("/")[2] == "localhost:17000" //always domain + port

আপনি এটি যে কোনও ইউআরএল-স্ট্রিংয়ে প্রয়োগ করতে পারেন

var url = "http://localhost:17000/sub1/sub2/mypage.html?q=12";
url.split("/")[2] == "localhost:17000"
url.split("/")[url.split("/").length-1] == "mypage.html?q=12"

ইউআরএল-স্ট্রিং থেকে প্রোটোকল, ডোমেন এবং পাথ সরিয়ে ফেলা হচ্ছে (আপেক্ষিক পাথ)

var arr = url.split("/");
if (arr.length>3)
   "/" + arr.splice(3, arr.length).join("/") == "/sub1/sub2/mypage.html?q=12"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.