ค้นหาเว็บไซต์

วิธีการรับฐาน URL ด้วย jQuery หรือ JavaScript?


ใน Joomla PHP ฉันสามารถใช้ $this->baseurl เพื่อรับเส้นทางพื้นฐาน แต่ฉันต้องการรับเส้นทางฐานใน jQuery

เส้นทางฐานอาจเป็นตัวอย่างใดก็ได้ต่อไปนี้:

http://www.example.com/
http://localhost/example
http://www.example.com/sub/example

ตัวอย่าง example อาจเปลี่ยนแปลงได้ด้วย

คำตอบ #1

ฉันคิดว่าสิ่งนี้จะเหมาะกับคุณดี:

var base_url = window.location.origin;

var host = window.location.host;

var pathArray = window.location.pathname.split( '/' );

นี่คือตาราง Can I Use...

คำตอบ #2

อันนี้จะช่วยคุณได้...

var getUrl = window.location;
var baseUrl = getUrl .protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];

คำตอบ #3

นี่จะได้ URL พื้นฐาน

var baseurl = window.location.origin+window.location.pathname;

คำตอบ #4

document.baseURI คืนค่า URL พื้นฐานโดยยังคงเคารพค่าที่อยู่ในแท็ก <base/> https://developer.mozilla.org/en-US/docs/Web/API/Node/baseURI

คำตอบ #5

นี่เป็นคำถามเก่าแก่มาก แต่ต่อไปนี้เป็นวิธีที่ฉันใช้ส่วนตัว...

รับ URL มาตรฐาน/ฐาน

อย่างที่หลายคนได้กล่าวไว้แล้ว สิ่งนี้ใช้ได้กับสถานการณ์ส่วนใหญ่

var url = window.location.origin;

รับ URL พื้นฐานแบบสมบูรณ์

อย่างไรก็ตาม วิธีที่เรียบง่ายนี้สามารถใช้เพื่อลบหมายเลขพอร์ตใด ๆ ออกได้

var url = "http://" + location.host.split(":")[0];

แก้ไข: เพื่อตอบสนองต่อความกังวลที่ Jason Rice ตั้งไว้ สามารถใช้วิธีต่อไปนี้เพื่อแทรกประเภทโปรโตคอลที่ถูกต้องโดยอัตโนมัติ ...

var url = window.location.protocol + "//" + location.host.split(":")[0];

ตั้งค่า URL พื้นฐาน

เป็นโบนัส -- จากนั้นสามารถกำหนดค่า URL พื้นฐานใหม่ได้ทั่วทั้งระบบ

document.head.innerHTML = document.head.innerHTML + "<base href='" + url + "' />";

คำตอบ #6

สิ่งนี้ไม่สามารถทำได้ด้วย JavaScript เนื่องจากนี่เป็นคุณสมบัติฝั่งเซิร์ฟเวอร์ JavaScript ฝั่งไคลเอ็นต์ไม่สามารถทราบได้ว่าติดตั้ง Joomla ไว้ที่ไหน ตัวเลือกที่ดีที่สุดคือการรวมค่าของ $this->baseurl กับ JavaScript บนหน้าเว็บ จากนั้นใช้ค่านี้ (phpBaseUrl)

คุณสามารถสร้าง URL แบบนี้ได้:

var loc = window.location;
var baseUrl = loc.protocol + "//" + loc.hostname + (loc.port? ":"+loc.port : "") + "/" + phpBaseUrl;

บทความที่เกี่ยวข้อง