Bir polyfill bir takoz olan yerine bir takoz çağrı ile özgün çağrıyı.
Örneğin, navigator.mediaDevices nesnesini kullanmak istediğinizi, ancak tüm tarayıcıların bunu desteklemediğini varsayalım. Şunlar gibi kullanabileceğiniz bir dolgu sağlayan bir kütüphane hayal edebilirsiniz:
<script src="js/MediaShim.js"></script>
<script>
MediaShim.mediaDevices.getUserMedia(...);
</script>
Bu durumda, orijinal nesneyi veya yöntemi kullanmak yerine açıkça bir şim çağırırsınız. Diğer yandan, çoklu dolgu orijinal nesnelerdeki nesneleri ve yöntemleri değiştirir.
Örneğin:
<script src="js/adapter.js"></script>
<script>
navigator.mediaDevices.getUserMedia(...);
</script>
Kodunuzda, standart navigator.mediaDevices nesnesini kullanıyormuşsunuz gibi görünür. Ama gerçekten, poli dolgu (örnekte adaptör.js) bu nesneyi kendi nesnesiyle değiştirdi.
Onun yerini aldığı şim. Bu, özelliğin yerel olarak desteklenip desteklenmediğini algılar ve varsa kullanır veya yoksa diğer API'ları kullanarak etrafında çalışır.
Yani bir çoklu dolgu bir çeşit "şeffaf" şimdir. Remy Poly (bu terimi kullanan), " çoklu dolgu komut dosyasını kaldırırsanız, çoklu dolgu kaldırılsa bile herhangi bir değişiklik yapılmadan kodunuz çalışmaya devam eder " derken bunu kastediyordu .