Jika saya meletakkan div di head dan display: none, daripada menggunakan JavaScript untuk menampilkannya, apakah ini akan berhasil?
Edit:
Saya memiliki barang yang dimuat di AJAX. Dan saat AJAX saya mengubah bagian "utama" situs, saya juga ingin mengubah meta-tagnya.
javascript
jquery
meta-tags
TIMEX
sumber
sumber
Jawaban:
Ya, Anda bisa melakukannya.
Ada beberapa kasus penggunaan yang menarik: Beberapa browser dan plugin mengurai elemen meta dan mengubah perilakunya untuk nilai yang berbeda.
Contoh
Skype: Matikan pengurai nomor telepon
iPhone: Matikan pengurai nomor telepon
Google Chrome Frame
Definisi viewport untuk perangkat seluler
Yang ini bisa diubah dengan JavaScript. Lihat: Perbaikan untuk bug skala viewport iPhone
Deskripsi meta
Beberapa agen pengguna (Opera misalnya) menggunakan deskripsi untuk bookmark. Anda dapat menambahkan konten yang dipersonalisasi di sini. Contoh:
Jadi, ini bukan hanya tentang mesin pencari.
sumber
keywords
dandescription
.document.write
di header, sudah terlambat untuk mengubahnya setelah halaman dimuat karena Skype sudah merusak DOM, hal yang mengerikan!$('meta[property="og:title"]').replaceWith('<meta property="og:title" content="New Title">');
const meta = document.querySelector('meta[name=theme-color]'); meta.setAttribute("content", colors[slideIndex]);
Chrome di Android mendeteksi pembaruan dan mengubah warnaYa itu.
Misalnya untuk mengatur meta-description:
sumber
property
atributnya, bukanname
atributnya, yaitumeta[property="og:title"]
Anda akan menggunakan sesuatu seperti (dengan jQuery):
Tetapi itu sebagian besar tidak ada gunanya karena tag meta biasanya hanya dihapus saat dokumen dimuat, biasanya tanpa menjalankan JavaScript apa pun.
sumber
$('meta[property=og:somestuff]')
, yang saya curigai akan berbenturan dengan sintaks pemilihan jQuery karena titik dua.Anda dapat mengubah meta dengan, misalnya, panggilan jQuery, seperti ini:
Saya pikir itu tidak masalah untuk saat ini, karena google mengatakan bahwa mereka akan mengindeks konten ajax via
#!hashes
dan_escaped_fragment_
panggilan. Dan sekarang mereka dapat memverifikasinya (bahkan secara otomatis, dengan browser tanpa kepala, lihat link 'Membuat Snapshot HTML' di halaman yang disebutkan di atas), jadi menurut saya ini adalah cara untuk orang-orang SEO hardcore.sumber
Sangat mungkin untuk menggunakan Javascript untuk mengubah tag meta halaman. Berikut adalah pendekatan hanya Javascript:
Saya telah memverifikasi bahwa Google mengindeks perubahan sisi klien ini untuk kode di atas.
sumber
element = collection[name]
sintaksnya.meta-tag adalah bagian dari dom dan dapat diakses dan -saya tebak- diubah, tetapi mesin pencari (konsumen utama meta-tag) tidak akan melihat perubahan karena javascript tidak akan dijalankan. Jadi, kecuali Anda mengubah meta-tag (menyegarkan kembali dalam pikiran) yang memiliki implikasi pada browser, ini mungkin sedikit berguna?
sumber
Seharusnya bisa seperti ini (atau gunakan jQuery seperti
$('meta[name=author]').attr("content");
):sumber
sumber
jQuery('meta[property="og:title"]').attr('content', "blubb1");
sumber
Anda dapat menggunakan solusi yang lebih sederhana dan ringan:
sumber
tambahkan sederhana dan atribut div untuk setiap contoh tag meta
sekarang seperti perubahan div normal untuk ex. n klik
fungsi mengubah tag dengan jQuery
sumber
Jika kita tidak memiliki meta tag sama sekali, maka kita dapat menggunakan yang berikut ini:
sumber
Untuk siapa pun yang mencoba mengubah tag meta og: title (atau lainnya). Saya berhasil melakukannya dengan cara ini:
Perhatikan bahwa 'meta [property = "og: title"]' berisi kata PROPERTI, bukan NAMA.
sumber
Tidak, div adalah elemen body, bukan elemen head
EDIT: Maka satu-satunya hal yang akan didapat SE adalah HTML dasar, bukan yang dimodifikasi ajax.
sumber
Ya, Anda dapat menambahkan metatag dengan Javascript. Saya lakukan dalam contoh saya
Android tidak menghormati penghapusan metatag?
Tapi, saya tidak tahu bagaimana mengubahnya selain menghapusnya. Btw, dalam contoh saya .. ketika Anda mengklik tombol 'TAMBAH' itu menambahkan tag dan viewport berubah masing-masing tetapi saya tidak tahu cara mengembalikannya kembali (hapus, di Android) .. Saya berharap ada firebug untuk Android jadi Saya melihat apa yang terjadi. Firefox memang menghapus tag tersebut. jika ada yang punya ide tentang ini harap dicatat jadi dalam pertanyaan saya.
sumber
memiliki ini di indeks
miliki ini di ajaxfiles og: ketik "og: title" og: description dan og: image
dan tambahkan ini juga
lalu tambahkan js setelah ajaxCall
Sunting: Anda kemudian dapat menampilkan judul dan gambar yang benar untuk facebook di dokumen txt / php (milik saya hanya bernama .php sebagai ekstensi, tetapi lebih banyak file txt). Saya kemudian memiliki tag meta di file ini, dan tautan kembali ke indeks di setiap dokumen, juga tautan meta di file indeks untuk setiap subfile ..
jika ada yang tahu cara yang lebih baik untuk melakukan ini, saya akan menghargai tambahan apa pun :)
sumber
Ini tampaknya berfungsi untuk aplikasi yang disetel secara geometris secara kaku yang perlu dijalankan di browser seluler dan lainnya dengan sedikit perubahan, jadi perlu menemukan status browser seluler / non-seluler dan untuk seluler yang menyetel viewport ke lebar perangkat. Karena skrip dapat dijalankan dari header, js di bawah header tampaknya mengubah metatag untuk lebar perangkat Sebelum halaman dimuat. Orang mungkin mencatat bahwa penggunaan navigator.userAgent ditetapkan sebagai eksperimental. Skrip harus mengikuti entri metatag untuk diubah, jadi seseorang harus memilih beberapa konten awal, dan kemudian mengubah pada beberapa kondisi.
. . . . . .
sumber