h-enes-simsek / EksiEngel

Google Chrome extension that allows mass blocking of authors for the social media platform Ekşi Sözlük.
https://h-enes-simsek.github.io/EksiEngel/
MIT License
13 stars 3 forks source link

tema++'ın "ekşi sözlük hızlandırıcı" özelliği aktifken entry menüsü opsiyonları F5 atılana kadar çıkmıyor #11

Closed dogucan97 closed 5 months ago

dogucan97 commented 5 months ago
  1. Sol listeden bir başlığa girip herhangi bir entry'nin dropdown menüsüne tıklandığında,
  2. Herhangi bir şekilde bir başlığa girdikten sonra bir entry'nin tarihine tıklayarak o entry'ye gidildikten sonra dropdown menüsüne tıklandığında Ekşi Engel opsiyonları çıkmıyor. O an F5 atılıp tekrar denendiğinde çıkıyor. (F5'ten önce dropdown'a kapat-aç yapınca çözülmüyor, onu da denedim)

Bir başlığa arama çubuğundan gidildiğinde bu sıkıntı oluşmuyor. (ama üstteki ikinci madde bu durumda da geçerli)

tema++'ın "Tercihler" sekmesindeki "ekşi sözlük hızlandırıcı (deneyseldir)" başlıklı özelliği kapattığımda bu sorun çözülüyor.

Sorun çözülene kadar diğer kullanıcılar için "Böyle bir sorun varsa tema++'ın şurasını kontrol edin" tarzı bir disclaimer düşünülebilir.

h-enes-simsek commented 5 months ago

Merhaba,

Haber verdiğiniz için teşekkür ederim. Ekşi Engel ve Tema++ birlikte aynı anda sayfanın kaynak kodlarına müdahale etmek istediği için ikisi aynı anda çalışmıyor.

Tema++'yı daha önce kullanmamıştım, biraz göz attım. Sorunun sebebi Tema++'nın Ekşi Sözlüğü iframe benzeri bir container içinde çalıştırmak istemesi. Böylece ilk kez Ekşi Sözlük sayfası yüklendikten sonra Tema++ kontrolü devralıyor ve yeni bir başlığa tıkladığınızda sayfayı baştan yüklemek yerine o container'ı yeniliyor. Her seferinde sayfa tekrar yüklenmediği için Ekşi Sözlük sanki tek bir sayfadan oluşuyormuş gibi çalışıyor. Tema++ buna 'ekşi sözlük hızlandırıcı' ismini vermiş. Literatürde Single-page application olarak geçiyor.

Olaya Ekşi Engel gözüyle bakarsak single page sıkıntılı bir durum. Çünkü Ekşi Engel her sayfa yüklenmesinde sayfaya bir script enjekte ediyor ve bu script sayfadaki hedef html elementlerini değiştiriyor. Single page uygulamalarda ikinci bir sayfa yükleme isteği oluşmadığı için Ekşi Engel ikinci kez bir script enjekte edemiyor ya da enjekte edilmiş scripti tekrar çalıştıramıyor. Ancak F5 yaptığınızda sayfa gerçekten tekrar yükleniyor.

Ekşi Engel'in Tema++ ile birlikte çalışması için aklıma gelen seçenekler:

Üç seçenekte de yapılması gereken iş yükü az sayılmaz. Hem Tema++ hem de Ekşi Engel'i kullanan kullanıcı sayısı muhtemelen oldukça azdır. Vaktimin de çok kısıtlı olduğunu ve bu işi de gönüllü olarak yaptığım gerçeklerini göz önünde bulundurursak, bu konuda hiçbir şey yapmamayı oldukça mantıklı bulmaya başladım :D Yine de haber verdiğiniz için tekrar teşekkür ederim.