2010-08-28 18 views
6

Çok hızlı bir, her zaman merak ettim, internet tarayıcıları düğmeler oluşturmak, mage oluşturmak ve benzeri yapmak için OS API işlevlerini oluşturmak için mi kullanıyorlar, yoksa kendi başlarına mı oluşturuyorlar?İnternet tarayıcıları, oluşturma için ne kullanıyor?

Ben ilk sistem api kullandığı thoght, ancak ekran gri karışır zaman gibi bazı etkileri vardır ve ben gerçekten yok ki, bilirsin, thet etkisi çevrimiçi birçok resim albümlerinde kullanılan ortada sadece küçük bir pencere bakın örneğin sadece Win32 çağrılarını kullanarak nasıl elde edilir.

DÜZENLEME: Daha kesin olması gerekirse, ekranda son çizimin her zaman sistem API'sini kullanacağını biliyorum, ancak önceden oluşturulmuş görüntüyü istediğiniz gibi gönderebilirsiniz. Teşekkürler.

+1

* (başvuru) * [Wikipedia: Web tarayıcı motorları] (http://en.wikipedia.org/wiki/Web_browser_engine) – Gordon

+0

Soruyu anlamıyorum: evet, ekranda son çizim her zaman sistem API'sini kullanır . Evet, her tarayıcının uygulanmasında tarayıcı-uygulamaya özgü bir kod vardır; bu, tarayıcının oluşturmak istediği her şeyi işlemek için sistem API'lerini kullanır. Peki soru nedir? – ChrisW

+0

Eh, belki daha iyi bir formülasyon olabilir: Tarayıcı oluşturma motorları, düğmeler oluşturmak, metin yazmak, kutular oluşturmak, vb. Için aO'ları kullanır veya işlenen görüntüyü gerçekte göstermek için yalnızca OS API kullanarak tüm bunları kendi başına yaparlar. ekran? Becouse, metin, grafikler ve tüm render render tamamen kendiniz yazmak oldukça zor görünüyor ..... –

cevap

5

Web tarayıcıları, OS API yerine kendi oluşturma motorlarını kullanır. Düğmeleri işlemek için OS API'yi kullanmak, belirli bir oluşturma motorunun tasarım kararına bağlıdır. Bununla birlikte, çeşitli işletim sistemlerinde çalışmak için bu motorlar, platformlar arasında aynı görünüm-hissi sunmak için kendi render işlemlerini tercih ederler. Firefox için

  • Trident
    • Gecko

      , Internet Explorer
    • için
    • Presto, Opera
    • için
    • KHTML, Apple'ın Safari için
    • WebKit Konqueror
    • ve Google'ın Chrome web tarayıcıları için.

    Ref: http://en.wikipedia.org/wiki/Web_browser_engine

  • +0

    Daha spesifik olabilirsem, örneğin, bu motorlardan herhangi biri bazı GUI API'leri kullanmak mı? Örneğin metin çizmek için? Ya da çizim motoruyla tamamen ele alınıyor mu? –

    1

    Do tarayıcı, vb düğmeler oluşturma metni yazma, kutular oluşturmak için motorları useOs api render ya da sadece fiilen için OS API kullanarak kendi başlarına tüm bu hale do işlenen görüntüyü ekranda gösterilsin mi?

    Bir tarayıcı render motorunun şey hayata (HTML öğeleri ve desteklediği CSS özellikleri listesi için örneğin Table of Supported Elements ve Supported Properties bakınız).

    • ölçün kelimelerin (metnin dizeleri)
    • Boya kelimeler
    • Kura:

      Ben (yaklaşık O/S GDI API'leri altında yatan ince sargı olan .NET Framework API'ler) sistemi API'leri kullanmak Bunlar W tarafından uygulanacağı API işlevi türüdür

    katı renk ile çizgiler ve kutular

  • Dolgu dikdörtgenler GDI'yı gösterir. Düğmeleri ve açılan kutuları çizmek için kullandığım bazı sistem (O/S veya .NET) API'ları da vardır (bkz. Rewrite standard controls like edit, combo, etc?).

    nedeniyle bu derste metin, grafik, tüm render ve böylece tamamen kendiniz

    Evet, CSS ve her şeyi uygulayan bir süre sürer yazmak için oldukça zor görünüyor.Tarayıcı geliştirici ekiplerinin ne kadar süredir uygulandığını gördünüz: birkaç takvim yılı, birçok insan yılı.

  • İlgili konular