Di joomla php ada yang bisa saya gunakan $this->baseurl
untuk mendapatkan path dasar, tapi saya ingin mendapatkan path dasar di jquery.
Path dasar mungkin salah satu dari contoh berikut:
http://www.example.com/
http://localhost/example
http://www.example.com/sub/example
The example
juga dapat berubah.
javascript
jquery
Navin Rauniyar
sumber
sumber
Jawaban:
Yang ini akan membantu Anda ...
sumber
http://localhost/myapp/what/ever/sub/folder
-> getBaseUrl ->http://localhost/myapp
:-)192.168.0.23/~sites/site/html/
bukannyasite.dev
. Mendapatkan nama path lengkap dengan Javascript juga bukan pilihan, karena situs dapat memiliki sejumlah subdirektori virtual.Saya pikir itu akan baik-baik saja untuk Anda
sumber
window.location.origin
Ini akan mendapatkan url dasar
sumber
Ini adalah pertanyaan yang sangat lama, tetapi berikut adalah pendekatan yang saya gunakan secara pribadi ...
Dapatkan URL Standar / Basis
Seperti yang telah banyak dinyatakan, ini berfungsi untuk sebagian besar situasi.
Dapatkan URL Basis Absolut
Namun, pendekatan sederhana ini dapat digunakan untuk menghilangkan nomor port apa pun.
Sunting: Untuk mengatasi masalah ini, yang diajukan oleh Jason Rice , berikut ini dapat digunakan untuk secara otomatis memasukkan jenis protokol yang benar ...
Setel URL Dasar
Sebagai bonus - URL dasar kemudian dapat didefinisikan ulang secara global.
sumber
Ini tidak mungkin dari javascript, karena ini adalah properti sisi server. Javascript pada klien tidak bisa tahu di mana joomla diinstal. Pilihan terbaik adalah entah bagaimana memasukkan nilai
$this->baseurl
ke dalam javascript halaman dan kemudian gunakan nilai ini (phpBaseUrl
).Anda kemudian dapat membuat url seperti ini:
sumber
loc.host
memiliki port, untuk menghasilkan url sepertihttp://localhost:8082/
metode inihttp://localhost:8082:8082/
,window.location.hostname
harus digunakan sebagai gantinya.document.baseURI
Pengembalian URL dasar juga menghargai nilai dalam<base/>
tag https://developer.mozilla.org/en-US/docs/Web/API/Node/baseURIsumber
Punya masalah yang sama beberapa waktu lalu, masalah saya adalah, saya hanya perlu url dasar. Ada banyak opsi terperinci di sini, tetapi untuk menyiasatinya, cukup gunakan
window.location
objek. Sebenarnya ketik ini di konsol browser dan tekan enter untuk memilih opsi Anda di sana. Yah untuk kasus saya itu hanya:sumber
Tetapi Anda tidak bisa mengatakan bahwa baseurl () dari CodeIgniter (atau php joomla) akan mengembalikan nilai yang sama, karena dimungkinkan untuk mengubah baseurl dalam file .htaccess dari kerangka kerja ini.
Sebagai contoh :
Jika Anda memiliki file .htaccess seperti ini di localhost Anda:
$ This-> baseurl () akan mengembalikan http: // localhost / CodeIgniter /
sumber
Saya mengalami kebutuhan ini pada beberapa proyek Joomla. Cara paling sederhana yang saya temukan untuk diatasi adalah dengan menambahkan bidang input tersembunyi ke template saya:
Ketika saya membutuhkan nilai dalam JavaScript:
Tidak semewah menggunakan JavaScript murni tetapi sederhana dan menyelesaikan pekerjaan.
sumber
cara termudah untuk mendapatkan url dasar di jQuery
sumber
Saya akan merekomendasikan bagi semua orang untuk membuat tag dasar HTML dalam pengembangan, kemudian menetapkan href secara dinamis, jadi dalam produksi apa pun host yang digunakan klien, ia akan secara otomatis menambahkannya:
Jadi jika Anda berada di localhot: 8080, Anda akan menjangkau setiap file yang tertaut atau direferensikan dari pangkalan, misalnya:
http://localhost:8080/some/path/file.html
Jika Anda berada di www.example.com, itu akan menjadihttp://www.example.com/some/path/file.html
Juga mencatat bahwa, setiap lokasi Anda, Anda tidak harus menggunakan referensi seperti gumpalan di href, misalnya: lokasi Parent menyebabkan
http://localhost:8080/
tidakhttp://localhost:8080/some/path/
.Berpura-pura Anda merujuk semua hyperlink sebagai hukuman penuh tanpa url bas.
sumber
Formatnya adalah nama host / pathname / pencarian
Jadi urlnya adalah:
Untuk kasusmu
Jadi pada dasarnya baseurl = hostname = window.location.hostname
sumber
Saya terkejut bahwa tidak ada jawaban yang mempertimbangkan url dasar jika disetel dalam
<base>
tag. Semua jawaban saat ini mencoba untuk mendapatkan nama host atau nama server atau bagian pertama dari alamat. Ini adalah logika lengkap yang juga mempertimbangkan<base>
tag (yang dapat merujuk ke domain atau protokol lain):Format jquery:
Tanpa terlibat dengan logika di atas, solusi singkatan yang mempertimbangkan
<base>
tag danwindow.location.origin
:Js:
Jquery:
Catatan akhir: untuk file lokal di komputer Anda (bukan pada host)
window.location.origin
hanya mengembalikanfile://
tetapi solusi sorthand di atas mengembalikan jalur yang benar lengkap.sumber
<base>
elemen.hampir sama dengan jawaban Jenish tetapi sedikit lebih pendek.
sumber
Saya hanya pada tahap yang sama dan solusi ini berhasil untuk saya
Dalam tampilan
Dalam file js Anda mengakses
base
sebagai variabel misalnya dalam skenario Anda:Saya tidak ingat di mana saya mengambil informasi ini untuk memberikan kredit, jika saya menemukannya saya akan mengedit jawabannya
sumber
sumber
Ini adalah sesuatu yang cepat yang juga berfungsi dengan
file://
URL.Saya datang dengan satu kalimat ini:
sumber
Anda menyebutkan bahwa
example.com
mungkin berubah jadi saya menduga bahwa sebenarnya Anda memerlukan url dasar hanya untuk dapat menggunakan notasi jalur relatif untuk skrip Anda. Dalam kasus khusus ini tidak perlu menggunakan skrip - alih-alih tambahkan tag dasar ke header Anda:Saya biasanya menghasilkan tautan melalui PHP.
sumber
Seandainya ada orang yang ingin melihat ini pecah menjadi fungsi yang sangat kuat
sumber
Mudah
Menghasilkan img dengan nama src kosong memaksa browser untuk menghitung sendiri basis-url, tidak peduli apakah Anda punya
/index.html
atau apa pun.sumber
Pisahkan dan gabungkan URL:
sumber
Letakkan ini di tajuk Anda, sehingga akan tersedia kapan pun Anda membutuhkannya.
Anda akan mendapatkan
http://localhost:81/your-path-file
atauhttp://localhost/your-path-file
.sumber