Operator URL pada Blogger

Tabel Konten
  1. path(url, path) 
  2. params(url, params) 
  3. appendParams(url, params) 
  4. fragment(url, fragment) 

Berikut ini adalah beberapa operator pengubah URL yang dapat Anda gunakan untuk mengubah struktur URL.

path(url, path) 

Berfungsi untuk mengubah komponen jalur.

<b:eval expr='path(data.blog.url, "foo.html")'/>
<b:eval expr='path(data.blog.url, "/foo.html")'/>

Kode di atas akan menghasilkan ini, bagaimanapun bentuk URL yang sedang aktif saat itu:

http://nama_blog.blogspot.com/foo.html
http://nama_blog.blogspot.com/foo.html

Operator ini juga tidak akan menghilangkan teks kueri yang sudah ada. Anda bisa mengetesnya dengan cara seperti ini:

<b:eval expr='data:blog.url'/>
<b:eval expr='path(data:blog.url, "foo.html")'/>
<b:eval expr='data:blog.url + "/foo.html"'/>
<b:eval expr='data:blog.homepageUrl + "/foo.html"'/>

Kode di atas akan menghasilkan ini ketika Anda mengunjungi blog Anda dengan menambahkan beberapa teks kueri seperti http://nama_blog.blogspot.com/search?q=foo:

http://nama_blog.blogspot.com/search?q=foo
http://nama_blog.blogspot.com/foo.html?q=foo
http://nama_blog.blogspot.com/search?q=foo/foo.html
http://nama_blog.blogspot.com//foo.html

params(url, params) 

Berfungsi untuk mengganti teks kueri pada URL atau menambahkannya jika belum ada.

<b:eval expr='params(data:blog.url, {
    foo: "bar",
    baz: "qux"
})'/>

Kode di atas akan menghasilkan ini:

http://nama_blog.blogspot.com?baz=qux&foo=bar

Operator ini sepertinya tidak mendukung teks kueri multi-level:

<!-- ?test=1&test=2&test=3 -->
<b:eval expr='params(data:blog.url, {
    test: [1, 2, 3]
})'/>
<!-- ?test=1&test=2&test=3 -->
<b:eval expr='params(data:blog.url, {
    test: {1, 2, 3}
})'/>
<!-- ?test=null -->
<b:eval expr='params(data:blog.url, {
    test: {
        0: 1,
        1: 2,
        2: 3
    }
})'/>
<!-- Invalid expression! -->
<b:eval expr='params(data:blog.url, {
    test[0]: 1,
    test[1]: 2,
    test[2]: 3
})'/>
<!-- ?"test[0]"=1&"test[1]"=2&"test[2]"=3 -->
<b:eval expr='params(data:blog.url, {
    "test[0]": 1,
    "test[1]": 2,
    "test[2]": 3
})'/>

appendParams(url, params) 

Berfungsi untuk menambahkan teks kueri atau mengubah nilai teks kueri yang sudah ada pada URL.

<b:eval expr='params(data:blog.url, {
    foo: "bar"
})'/>
<b:eval expr='appendParams(data:blog.url, {
    foo: "bar"
})'/>

Hasilnya akan menjadi seperti ini ketika kita berada di halaman pencarian:

http://nama_blog.blogspot.com/search?foo=bar
http://nama_blog.blogspot.com/search?foo=bar&q=baz

Seharusnya akan menghasilkan seperti contoh di atas, tapi setelah Saya coba sendiri ternyata hasilnya tidak ada bedanya dengan ketika Saya menggunakan params. Mungkin ini bug.

fragment(url, fragment) 

Berfungsi untuk menyisipkan fragmen URL.

<b:eval expr='fragment(data:blog.url, "foo")'/>
<b:eval expr='fragment(data:blog.url, "#foo")'/>
<b:eval expr='data:blog.url + "#foo"'/>

Hasilnya akan menjadi seperti ini:

http://nama_blog.blogspot.com#foo
http://nama_blog.blogspot.com#foo
http://nama_blog.blogspot.com#foo

15 Komentar

  • Kang Rian リアンさん

    Apik nih .. sy pantau dulu mas taufik! nyimak.. terimakasih

  • Sulis Stya

    operator url ini apa dan fungsinya apa ya mas?

  • Taufik Nurrohman

    Paragraf pertama:

    Berikut ini adalah beberapa [operator pengubah URL] → APA yang dapat Anda gunakan [untuk mengubah struktur URL] → FUNGSI.

  • Sulis Stya

    ok, terimakasih mas Taufik Nurrohman sudah berkenan menjawab. lalu apa tujuan merubah struktur URL tersebut ?

  • Hafid Maulana

    Bantu jawab. Contoh fungsi untuk menambah parameter url amp=1 pada URL Blogger. Jadi halaman amp akan ditampilkan pada /lorem.html?amp=1 bukan di /lorem.html?m=1

  • Dista

    UP! Saya kesini juga gara gara mau ubah url amp.. :D

    • Taufik Nurrohman

      <b:if cond='data:view.url == data:view.url params { amp: "1" }'>
        <!-- Mode AMPHTML -->
      <b:else/>
        <!-- Mode HTML -->
      </b:if>
  • Adi

    Kalau mau menampilkan pathname saja apa ada operator urlnya juga mas di blogger?

    • Taufik Nurrohman

      Sampai saat ini belum ada mas. Kalau di Mecha ada HEHEHEHEHE.

      • Adi

        Kalau kode JavaScript-nya dimasukkan ke dalam atribut href apa bisa dirender mas atau cara lainnya apa tidak bisa mas? Saya sedang mencoba menggabungkan website blogspot satu dengan blogspot lain dengan workers seperti ini contohnya travelign.nl/blog/ namun saya terkendala dengan pathname-nya.

        • Taufik Nurrohman

          Kalaupun memang bisa menggunakan JavaScript, Saya tetap tidak menyarankan mas. Soalnya kalau kondisi sedang ada masalah, misalnya gagal memuat JavaScript atau karena ada kesalahan di sintaks, nanti seluruh tautan kustom malah akan rusak. Dan kita nggak pernah tahu.

          • Adi

            sayang sekali, kalau operator url blogger seperti itu ada mungkin sangat bermanfaat nantinya. website saya tersebut adalah website blogger yang saya custom domain dengan subdirektori dari domain utama menggunakan cloudflare workers

            oh ya mas sistem komentar website ini apa tidak bisa memberitahu melalui email kalau mendapat balasan?

            • Taufik Nurrohman

              Dibuat fitur seperti itu sebenarnya bisa mas, dengan bantuan fungsi send. Cuma seringnya surel otomatis akan langsung masuk ke folder spam atau malah tidak masuk sama sekali. Mungkin karena Saya masih memakai shared-hosting jadi kurang begitu dipercaya. Padahal pengaturan HTTP header sudah oke menurut Saya.

        • Taufik Nurrohman

          Eh, sepertinya bisa mas mengganti URL di kode sumber, tapi via fitur Cloudflare secara langsung. Coba cek referensi ini: https://blog.cloudflare.com/introducing-htmlrewriter

  • Adi

    sebenarnya saya sudah menggunakan script rewrite dengan 1 route yang sama dengan script worker lainnya namun cara tersebut tidak diperbolehkan karena duplikat routenya. dan juga saya telah mencoba menggabungkan script rewrite ini https://developers.cloudflare.com/workers/examples/rewrite-links dengan script lainnya https://developers.cloudflare.com/workers/examples/bulk-origin-proxy namun tidak berhasil. apa mas tahu cara menggabungkan script tersebut mas?






Semua kode HTML akan dihapus kecuali kode-kode HTML yang dituliskan sebagai contoh. Gunakan sintaks Markdown untuk memberi gaya pada komentar.


Batal