Giter VIP home page Giter VIP logo

Comments (1)

h-enes-simsek avatar h-enes-simsek commented on September 26, 2024

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:

  • Ekşi Engel, Tema++'nın varlığını tespit ettikten sonra bir şekilde yeni sayfa isteklerini algılayıp yeniden script enjekte edebilir ya da enjekte edilmiş scripti tekrar çalıştırabilir.
  • Ekşi Engel, Tema++'nın varlığını tespit ettikten sonra otomatik olarak Tema++'nın "ekşi sözlük hızlandırıcı" özelliğini devre dışı bırakır ya da sizin de tavsiye ettiğiniz gibi en azından kullanıcıdan kapatmasını talep eder.
  • Ekşi Engel, tüm iframe (ya da her nasıl bir mekanizsa varsa) isteklerini takip edip her yeni Ekşi Sözlük fetch işleminde yeniden script enjekte edebilir ya da enjekte edilmiş scripti tekrar çalıştırabilir.

Üç 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.

from eksiengel.

Related Issues (13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.