Masalah Pesan Formulir Komentar Blogger Yang Jatuh Ke Bawah - Dewa Blogger

Halaman

    Social Items

Buy Now

Posting ini sekaligus sebagai tanggapan dari beberapa pertanyaan mengenai kafe emotikon jQuery yang seringkali tampil pada daerah yang salah jikalau kita memakai template standar Blogger.

Posting ini sekaligus sebagai tanggapan dari beberapa pertanyaan mengenai kafe  Masalah Pesan Formulir Komentar Blogger yang Jatuh ke Bawah
Pesan formulir komentar berada di bawah, padahal seharusnya di atas.

Masalah ini sangat sering ditanyakan di sini (kemunculan pertanyaan sejenis terbanyak sanggup ditemukan di posting Emotikon Blogger Otomatis dengan jQuery). Ini mengenai problem pesan formulir komentar yang akan jatuh/meletakkan diri di bawah formulir komentar tanpa kita inginkan pada saat-saat tertentu. Kita semua baiklah bahwa pesan untuk para komentator idealnya terletak sempurna di atas formulir komentar, tapi untuk beberapa perkara mereka biasanya akan turun ke bawah dengan cara yang aneh.

Pada awalnya Saya juga merasa galau dengan cara kerja fitur gres Blogger ini, hingga Saya mencoba membandingkan sebagian script di blog Saya dengan salah satu script yang sudah berhasil diimplementasikan oleh sebuah blog yang Saya kunjungi:

document.getElementById(domId).insertBefore(replybox, null);

replybox ialah variabel. Jika Anda mengalihkan perhatian Anda sedikit ke sebelah atas maka Anda akan menemukan bahwa replybox ialah variabel untuk menyatakan elemen #comment-editor:

var onReply = function(commentId, domId) {     if (replybox == null) {         // lazily cache replybox, and adjust to suit this style:replybox = document.getElementById('comment-editor');        if (replybox != null) {             replybox.height = '250px';             replybox.style.display = 'block';             replyUrlParts = replybox.src.split('#');         }     }     if (replybox && (commentId !== replyParent)) {         document.getElementById(domId).insertBefore(replybox, null);         replybox.src = replyUrlParts[0]         + (commentId ? '&parentID=' + commentId : '')         + '#' + replyUrlParts[1];         replyParent = commentId;     } };

Meskipun variabel tersebut tidak berada dalam satu kondisi, tapi setidaknya kita sudah tahu titik terangnya. Itulah kesalahannya! #comment-editor bekerjsama ialah elemen <iframe> formulir komentar yang sama sekali tidak bekerjasama dengan pesan formulir komentar. Pesan formulir komentar bukanlah bab dari elemen formulir komentar. Dia hanya meletakkan diri di sebelah atas formulir ibarat ini:

<p><data:blogCommentMessage/></p> <data:blogTeamBlogMessage/> <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/> <iframe allowtransparency='true' ... id='comment-editor' name='comment-editor' src='' width='100%'/>

<p><data:blogCommentMessage/></p> mewakili pesan formulir komentar, dan elemen <iframe> yang terletak di bawahnya mewakili formulir komentar. Selengkapnya mengenai struktur formulir komentar Blogger sanggup Anda pelajari di artikel Struktur Label dan Status Komentar.

Oleh alasannya ialah itu, dikala kita mengeklik tombol Balas, maka yang akan terangkat hanya formulir komentarnya saja, sedangkan pesan formulir komentar yang seharusnya ikut dibawa akan ditinggalkan. Karena dalam script di atas, .insertBefore() hanya akan membawa replybox yang notabene ialah #comment-editor, bukan .comment-form:

Posting ini sekaligus sebagai tanggapan dari beberapa pertanyaan mengenai kafe  Masalah Pesan Formulir Komentar Blogger yang Jatuh ke Bawah
Pesan formulir komentar tidak termasuk dalam wilayah #comment-editor (replybox)

Buat Elemen Pembungkus Baru untuk Mengangkat Formulir Komentar Beserta Kelengkapannya

Solusi untuk mengatasi problem ini ialah dengan cara menambahkan elemen pembungkus gres yang akan kita gunakan untuk mengelilingi formulir dan pesan formulir komentar. Dengan begitu, kita tidak akan menugaskan .insertBefore() untuk mengangkat elemen replybox tapi kita akan menciptakan ia mengangkat elemen pembungkusnya, sehingga formulir komentar dan pesan formulir komentar di dalamnya akan ikut terbawa ke mana saja elemen pembungkus berpindah.

Masuklah ke halaman Editor HTML Template, kemudian cek Expand Template Widget. Temukan isyarat ini:

<b:includable id='threaded-comment-form' var='post'>   <div class='comment-form'>     <a name='comment-form'/>     <b:if cond='data:mobile'>       <p><data:blogCommentMessage/></p>       <data:blogTeamBlogMessage/>       <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>       <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' height='410' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>     <b:else/>       <p><data:blogCommentMessage/></p>       <data:blogTeamBlogMessage/>       <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>       <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' height='410' id='comment-editor' name='comment-editor' src='' width='100%'/>     </b:if>     <data:post.friendConnectJs/>     <data:post.cmtfpIframe/>     <script>       BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;, &#39;<data:post.communityId/>&#39;);     </script>   </div> </b:includable>

TIP: Tekan CTRL + F kemudian ketik 'threaded-comment-form' untuk mempermudah pencarian.

Ganti semua isyarat di atas dengan isyarat ini:

<b:includable id='threaded-comment-form' var='post'>   <div class='comment-form'>     <a name='comment-form'/><div id='form-wrapper'>    <b:if cond='data:mobile'>       <p><data:blogCommentMessage/></p>       <data:blogTeamBlogMessage/>       <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>       <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' height='410' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>     <b:else/>       <p><data:blogCommentMessage/></p>       <data:blogTeamBlogMessage/>       <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>       <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' height='410' id='comment-editor' name='comment-editor' src='' width='100%'/>     </b:if></div>    <data:post.friendConnectJs/>     <data:post.cmtfpIframe/>     <script>       BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;, &#39;<data:post.communityId/>&#39;);     </script>   </div> </b:includable>

Pada isyarat di atas Anda akan melihat bahwa Saya telah mengelilingi elemen <iframe> dan <p><data:blogCommentMessage/></p> dengan elemen <div id='form-wrapper'>. Nah, kita akan memakai elemen pembungkus tersebut sebagai “pegangan” bagi .insertBefore() untuk memindah-mindah elemen formulir komentar dan pesan formulir komentar di dalamnya.

Kita tahu bahwa di dalam #form-wrapper terdapat formulir komentar dan pesan formulir komentar, oleh alasannya ialah itulah ke dua elemen tersebut (formulir dan pesan formulirnya) akan ikut terbawa seiring berpindahnya elemen #form-wrapper:

Posting ini sekaligus sebagai tanggapan dari beberapa pertanyaan mengenai kafe  Masalah Pesan Formulir Komentar Blogger yang Jatuh ke Bawah
Pesan dan formulir komentar sekarang sudah dipegangi oleh elemen #form-wrapper

Terakhir, untuk memodifikasi script thread-commenting Blogger semoga tidak hanya mengangkat/memindah formulir komentarnya saja, lihatlah kembali pada bab ini:

document.getElementById(domId).insertBefore(replybox, null);

Ganti dengan isyarat ini:

document.getElementById(domId).insertBefore(document.getElementById('form-wrapper'), null);

Klik Simpan Template.

Sekarang setiap kali kita mengeklik tombol Balas, maka yang akan berpindah-pindah ialah elemen #form-wrapper dan bukan elemen #comment-editor.#comment-editor dan pesan formulir komentar di dalamnya hanya akan berdiam diri di dalam #form-wrapper dan akan mengikuti ke mana saja ia berpindah.


Cara Lain

Cara yang satu ini lebih sederhana. Anda tidak perlu membaca tutorial di atas untuk memecahkan problem semacam ini.

Pertama-tama cari isyarat ini:

document.getElementById(domId).insertBefore(replybox, null);

Ganti dengan isyarat ini kemudian simpan perubahan yang ada:

document.getElementById(domId).insertBefore(replybox.parentNode, null);

Selesai!


Sumber https://www.dte.web.id/

Masalah Pesan Formulir Komentar Blogger Yang Jatuh Ke Bawah

Posting ini sekaligus sebagai tanggapan dari beberapa pertanyaan mengenai kafe emotikon jQuery yang seringkali tampil pada daerah yang salah jikalau kita memakai template standar Blogger.

Posting ini sekaligus sebagai tanggapan dari beberapa pertanyaan mengenai kafe  Masalah Pesan Formulir Komentar Blogger yang Jatuh ke Bawah
Pesan formulir komentar berada di bawah, padahal seharusnya di atas.

Masalah ini sangat sering ditanyakan di sini (kemunculan pertanyaan sejenis terbanyak sanggup ditemukan di posting Emotikon Blogger Otomatis dengan jQuery). Ini mengenai problem pesan formulir komentar yang akan jatuh/meletakkan diri di bawah formulir komentar tanpa kita inginkan pada saat-saat tertentu. Kita semua baiklah bahwa pesan untuk para komentator idealnya terletak sempurna di atas formulir komentar, tapi untuk beberapa perkara mereka biasanya akan turun ke bawah dengan cara yang aneh.

Pada awalnya Saya juga merasa galau dengan cara kerja fitur gres Blogger ini, hingga Saya mencoba membandingkan sebagian script di blog Saya dengan salah satu script yang sudah berhasil diimplementasikan oleh sebuah blog yang Saya kunjungi:

document.getElementById(domId).insertBefore(replybox, null);

replybox ialah variabel. Jika Anda mengalihkan perhatian Anda sedikit ke sebelah atas maka Anda akan menemukan bahwa replybox ialah variabel untuk menyatakan elemen #comment-editor:

var onReply = function(commentId, domId) {     if (replybox == null) {         // lazily cache replybox, and adjust to suit this style:replybox = document.getElementById('comment-editor');        if (replybox != null) {             replybox.height = '250px';             replybox.style.display = 'block';             replyUrlParts = replybox.src.split('#');         }     }     if (replybox && (commentId !== replyParent)) {         document.getElementById(domId).insertBefore(replybox, null);         replybox.src = replyUrlParts[0]         + (commentId ? '&parentID=' + commentId : '')         + '#' + replyUrlParts[1];         replyParent = commentId;     } };

Meskipun variabel tersebut tidak berada dalam satu kondisi, tapi setidaknya kita sudah tahu titik terangnya. Itulah kesalahannya! #comment-editor bekerjsama ialah elemen <iframe> formulir komentar yang sama sekali tidak bekerjasama dengan pesan formulir komentar. Pesan formulir komentar bukanlah bab dari elemen formulir komentar. Dia hanya meletakkan diri di sebelah atas formulir ibarat ini:

<p><data:blogCommentMessage/></p> <data:blogTeamBlogMessage/> <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/> <iframe allowtransparency='true' ... id='comment-editor' name='comment-editor' src='' width='100%'/>

<p><data:blogCommentMessage/></p> mewakili pesan formulir komentar, dan elemen <iframe> yang terletak di bawahnya mewakili formulir komentar. Selengkapnya mengenai struktur formulir komentar Blogger sanggup Anda pelajari di artikel Struktur Label dan Status Komentar.

Oleh alasannya ialah itu, dikala kita mengeklik tombol Balas, maka yang akan terangkat hanya formulir komentarnya saja, sedangkan pesan formulir komentar yang seharusnya ikut dibawa akan ditinggalkan. Karena dalam script di atas, .insertBefore() hanya akan membawa replybox yang notabene ialah #comment-editor, bukan .comment-form:

Posting ini sekaligus sebagai tanggapan dari beberapa pertanyaan mengenai kafe  Masalah Pesan Formulir Komentar Blogger yang Jatuh ke Bawah
Pesan formulir komentar tidak termasuk dalam wilayah #comment-editor (replybox)

Buat Elemen Pembungkus Baru untuk Mengangkat Formulir Komentar Beserta Kelengkapannya

Solusi untuk mengatasi problem ini ialah dengan cara menambahkan elemen pembungkus gres yang akan kita gunakan untuk mengelilingi formulir dan pesan formulir komentar. Dengan begitu, kita tidak akan menugaskan .insertBefore() untuk mengangkat elemen replybox tapi kita akan menciptakan ia mengangkat elemen pembungkusnya, sehingga formulir komentar dan pesan formulir komentar di dalamnya akan ikut terbawa ke mana saja elemen pembungkus berpindah.

Masuklah ke halaman Editor HTML Template, kemudian cek Expand Template Widget. Temukan isyarat ini:

<b:includable id='threaded-comment-form' var='post'>   <div class='comment-form'>     <a name='comment-form'/>     <b:if cond='data:mobile'>       <p><data:blogCommentMessage/></p>       <data:blogTeamBlogMessage/>       <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>       <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' height='410' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>     <b:else/>       <p><data:blogCommentMessage/></p>       <data:blogTeamBlogMessage/>       <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>       <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' height='410' id='comment-editor' name='comment-editor' src='' width='100%'/>     </b:if>     <data:post.friendConnectJs/>     <data:post.cmtfpIframe/>     <script>       BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;, &#39;<data:post.communityId/>&#39;);     </script>   </div> </b:includable>

TIP: Tekan CTRL + F kemudian ketik 'threaded-comment-form' untuk mempermudah pencarian.

Ganti semua isyarat di atas dengan isyarat ini:

<b:includable id='threaded-comment-form' var='post'>   <div class='comment-form'>     <a name='comment-form'/><div id='form-wrapper'>    <b:if cond='data:mobile'>       <p><data:blogCommentMessage/></p>       <data:blogTeamBlogMessage/>       <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>       <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' height='410' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>     <b:else/>       <p><data:blogCommentMessage/></p>       <data:blogTeamBlogMessage/>       <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>       <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' height='410' id='comment-editor' name='comment-editor' src='' width='100%'/>     </b:if></div>    <data:post.friendConnectJs/>     <data:post.cmtfpIframe/>     <script>       BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;, &#39;<data:post.communityId/>&#39;);     </script>   </div> </b:includable>

Pada isyarat di atas Anda akan melihat bahwa Saya telah mengelilingi elemen <iframe> dan <p><data:blogCommentMessage/></p> dengan elemen <div id='form-wrapper'>. Nah, kita akan memakai elemen pembungkus tersebut sebagai “pegangan” bagi .insertBefore() untuk memindah-mindah elemen formulir komentar dan pesan formulir komentar di dalamnya.

Kita tahu bahwa di dalam #form-wrapper terdapat formulir komentar dan pesan formulir komentar, oleh alasannya ialah itulah ke dua elemen tersebut (formulir dan pesan formulirnya) akan ikut terbawa seiring berpindahnya elemen #form-wrapper:

Posting ini sekaligus sebagai tanggapan dari beberapa pertanyaan mengenai kafe  Masalah Pesan Formulir Komentar Blogger yang Jatuh ke Bawah
Pesan dan formulir komentar sekarang sudah dipegangi oleh elemen #form-wrapper

Terakhir, untuk memodifikasi script thread-commenting Blogger semoga tidak hanya mengangkat/memindah formulir komentarnya saja, lihatlah kembali pada bab ini:

document.getElementById(domId).insertBefore(replybox, null);

Ganti dengan isyarat ini:

document.getElementById(domId).insertBefore(document.getElementById('form-wrapper'), null);

Klik Simpan Template.

Sekarang setiap kali kita mengeklik tombol Balas, maka yang akan berpindah-pindah ialah elemen #form-wrapper dan bukan elemen #comment-editor.#comment-editor dan pesan formulir komentar di dalamnya hanya akan berdiam diri di dalam #form-wrapper dan akan mengikuti ke mana saja ia berpindah.


Cara Lain

Cara yang satu ini lebih sederhana. Anda tidak perlu membaca tutorial di atas untuk memecahkan problem semacam ini.

Pertama-tama cari isyarat ini:

document.getElementById(domId).insertBefore(replybox, null);

Ganti dengan isyarat ini kemudian simpan perubahan yang ada:

document.getElementById(domId).insertBefore(replybox.parentNode, null);

Selesai!


Sumber https://www.dte.web.id/