প্রদত্ত যে আমি নিম্নলিখিত পৃষ্ঠায় আছি:
http://www.webmail.com/pages/home.aspx
আমি কীভাবে "http://www.webmail.com"জাভাস্ক্রিপ্ট দিয়ে হোস্টের নাম ( ) পুনরুদ্ধার করতে পারি ?
প্রদত্ত যে আমি নিম্নলিখিত পৃষ্ঠায় আছি:
http://www.webmail.com/pages/home.aspx
আমি কীভাবে "http://www.webmail.com"জাভাস্ক্রিপ্ট দিয়ে হোস্টের নাম ( ) পুনরুদ্ধার করতে পারি ?
উত্তর:
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);
httpযদিও নির্দিষ্ট না। আপেক্ষিক প্রোটোকল ব্যবহার করুন। হার্ড কোডিংয়ের চেয়ে আরও উপযুক্ত হতে পারে।
concat। উদাহরণস্বরূপ var a = 1 + 2 + " should be 12";, এটির কনক্যাট সংস্করণ বনাম var a = "".concat(1).concat(2).concat(" should be 12");। কনক্যাট ব্যবহার করা আপনাকে অনেক সমস্যা বাঁচাতে পারে +গণনা করার জন্য, কনকেন্টেশন নয়।
হোস্টের নাম পেতে: location.hostname
তবে আপনার উদাহরণটিও এই স্কিমটির সন্ধান করছে, তাই location.originআপনি ক্রোমে যা চান তা করতে দেখা যায়, তবে মোজদেব ডক্সে উল্লেখ নেই। আপনি এটি দিয়ে নির্মাণ করতে পারেন
location.protocol + '//' + location.hostname
আপনি যদি পোর্ট নম্বরটিও চান (তবে এটি 80 নয়) তবে:
location.protocol + '//' + location.host
আপনি এটি ব্যবহার করে প্রোটোকল, হোস্ট এবং পোর্ট পেতে পারেন:
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) |
সমস্ত ব্রাউজারের সামঞ্জস্যতা মজিলা বিকাশকারী নেটওয়ার্ক
let path = window.location.protocol + '//' + window.location.hostname + ':' + window.location.port;
আপনার প্রয়োজনের উপর নির্ভর করে আপনি একটি বৈশিষ্ট্য ব্যবহার করতে পারেন window.location। আপনার প্রশ্নে আপনি হোস্ট সম্পর্কে জিজ্ঞাসা করছেন যা window.location.hostname(যেমন www.example.com) ব্যবহার করে পুনরুদ্ধার করা যেতে পারে । আপনার উদাহরণে আপনি এমন কিছু দেখাচ্ছে যা বলা হয় উত্স , যা ব্যবহার করে পুনরুদ্ধার করা যেতে পারে window.location.origin(যেমন http://www.example.com)।
var path = window.location.origin + "/";
//result = "http://localhost:60470/"
আমি উদ্দেশ্য অনুসারে এটি পছন্দ করি
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"