it-swarm-tr.com

CookieMonster eklentisi tarafından oluşturulan bildirim mesajını yeniden konumlandırma

Sayfanızın üst/alt kısmında bir div olarak veya bir yer paylaşımı olarak görüntülenen bir çerez bildirim mesajı üreten eklenti 'Cookie Monster' herdboy tarafından kullanıyorum. Temel eklenti seçenekleri bildirim mesajı konumlandırmasını sayfanızın üst kısmına veya alt kısmına sınırlar (bu bağlantıda gösterilmiştir). Ancak, mesajı seçtiğim belirli bir div içinde görünecek şekilde ayarlamak istiyorum.

Eklentinin JS dosyasının içinde, temel seçeneklerde yaptığınız seçimin, mesajın $('body').prepend veya $('body').append kullanılarak konumlandırılacağı anlamına gelir. 'body' Yerine '#myDiv' Yerine js dosyasını düzenledim.

Benim sorunum, eklentinin JS dosyasını değiştirdikten sonra bile, iletinin gövde etiketindeki ilk div (yani gövdeye eklenmiş) olarak görünmeye devam etmesidir. plugins/system/cookiemonster Konumunda tüm diğer dosyaları kontrol ettim ve ileti işaretleme siteye enjekte başvuru gibi görünen tek dosya JS dosyasıdır. Temel JS hatalarını göremiyorum ve kesinlikle önbellekleme sorunu değil.

Potansiyel olarak eksik olduğum nedir?

1
Candlejack

Eklentinin kendi JS dosyasını düzenlemenin işe yaramaz olduğunu belirledim (yine de tam nedeninden emin değilim), projenin ana JS dosyasındaki eklenti JS'yi geçersiz kılmaya karar verdim:

$(window).load(function(){
    // some other
    // project
    // functions here
    cookieMessagePositioning();
});

function cookieMessagePositioning(){
    var cookieTimer = setTimeout(function() {
        $('header.cc-cookies').prependTo('#myDiv');
    }, 20);
}

Not.header.cc-cookies, Cookie Monster eklentisi tarafından oluşturulan işaretlemeden ilgili sınıftır. Gerçek proje kodunda, CookieMessagePositioning işlevinde kontrol edilen başka koşullarımız var, ancak bunlar soru ile ilgisiz ve cevabı etkilemiyor.

Zaman aşımı (bu durumda 20 ms), CookieMessagePositioning herhangi bir şeyi yeniden konumlandırmaya çalışmadan önce ilgili işaretlemenin DOM'a yüklendiğinden emin olmak için bir önlemdir.

1
Candlejack

Birisi tüm sayfaya ve koda erişmeden bu tür sorulara geçerli cevaplar almak neredeyse zor.

Ancak, sağlamanız gereken bir şey #yourDiv öğesi var ve DOM öğesinde benzersiz. plugin js iyi olurdu, öğeniz orada olmasaydı, muhtemelen hiç göstermezdi.

Alternatif bir çözüm olarak, Çerezler mesajının nerede görünmesini istediğinizi bilmememe rağmen, bunun için bazı css geçersiz kılmalar oluşturmanızı, istediğiniz yere yerleştirmenizi ve biraz box-shadow, diğer css hileleriyle karıştırılarak içeriğin geri kalanından öne çıkar.

0
FFrewin