Web geliştiriciler için SSS

Giriş

  1. Google Chrome neler içerir?
  2. Diğer tarayıcılar hakkında nerede bilgi bulabilirim?

Kullanıcı aracısı

  1. Google Chrome'un kullanıcı aracısı dizesi nedir?

Dil kodlaması

  1. Google Chrome, karakterleri düzgün bir şekilde görüntülemiyor
  2. JavaScript (document.write) ile kodlama duyurusu işe yaramıyor
  3. Google Chrome, iki Çince karakter yerine '%B1%C1%C3%E5' görüntülüyor

Komut dosyaları ve web uygulamaları

  1. ActiveX denetimim yüklenmiyor
  2. JavaScript'im gerektiği gibi çalışmıyor

Görünüm ve tarayıcı davranışı

  1. Sitem, Google Chrome'da Internet Explorer'da olduğundan farklı görünüyor
  2. Web sitemi Google Chrome'da nasıl test edebilirim?
  3. Harici stil sayfasındaki yazı tipi spesifikasyonları geçerlilik kazanmıyor
  4. Web sitemin pop-up'ları Google Chrome'da görünmüyor
  5. SSL tarafından korunan web sitem, Google Chrome'da kilit yerine bir ünlem işareti gösteriyor
  6. HTML5 veritabanı API'sı, Google Chrome'da desteklenmiyor
  7. Sayfamı gösteren Google Chrome kısayollarının görünümünü ve işlevini nasıl özelleştirebilirim?
  8. Web sayfam, ayrı bir işlemde yeni bir sekme nasıl açabilir?
  9. Web sitemin Chrome Anında Arama için URL yükleme özelliğine dahil olmamasını nasıl sağlayabilirim?

Arama

  1. Bir intranet web sitesi adresi girdiğimde, intranet sitesi yerine arama sonuçları sayfası açılıyor
  2. Sitemin aramasını Google Chrome'un arama seçeneklerine nasıl ekleyebilirim?

Giriş

1. Google Chrome neler içerir?

Google Chrome, web yöneticilerinin daha iyi bir son kullanıcı deneyimi sağlamak için yararlanabileceği pek çok özellik içerir. Google Chrome'da, web yöneticilerinin çevrimdışı depolama gibi API'lardan yararlanmasına olanak sağlayan Gears özelliği yerleşik olarak bulunur. Ayrıca, kullanıcılar Google Chrome'u yalnızca bir başlık çubuğundan oluşan minimalist bir kullanıcı arayüzünden ibaret bir modda başlatabildiği için web uygulamanız Google Chrome sayesinde bir "masaüstü" uygulaması gibi görünür.

Google Chrome, ayrıca mevcut JavaScript yorumcularından çok daha hızlı, yepyeni bir JavaScript motoru (V8) kullanır. Bu da, hız ve işlem kısıtlaması daha az olan, daha gelişmiş ve daha yoğun AJAX uygulamaları oluşturabileceğiniz anlamına gelir. Son olarak, Google Chrome WebKit üzerine kurulu olduğundan Google Chrome kullanıcıları, WebKit'e yeni CSS3 özellikleri eklendikçe bu özelliklerden yararlanabilir.

2. Diğer tarayıcılar hakkında nerede bilgi bulabilirim?

Aralarından seçim yapabileceğiniz çeşitli tarayıcılar vardır. Aşağıda listelenen web sitelerinden sık kullanılan tarayıcıların bazıları hakkında bilgi edinebilirsiniz:

Kullanıcı aracısı

3. Google Chrome'un kullanıcı aracısı dizesi nedir?

Google Chrome'un kullanıcı aracısı dizesi:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.X.Y.Z Safari/525.13.

Google Chrome, Apple Safari gibi diğer tarayıcılar tarafından paylaşılan WebKit görünüm motorunu kullanır. Web sayfaları, Google Chrome'da diğer WebKit tabanlı tarayıcılarda görünecekleri gibi görünmelidir. Belirli bir tarayıcı adı (Google Chrome veya Safari gibi) yerine, bu tarayıcıları hedeflemek için kullanıcı aracısı dizelerinde webkit kodunu arayabilirsiniz.

Dil kodlaması

4. Google Chrome, karakterleri düzgün bir şekilde görüntülemiyor

Tarayıcıların içeriğinizi doğru bir şekilde görüntülemesine yardımcı olmak için dokümanınızın kaynağının başında her zaman içerik ve karakter kodlama bilgilerine yer vermelisiniz. Çerçeve veya iç çerçeve kullanıyorsanız o çerçevelerin kaynağının başında da kodlamayı belirtin. Google Chrome dahil olmak üzere bazı tarayıcılar, bir dokümanın içinde (örneğin dokümanınızın "head" bölümünde CSS veya komut dosyasından sonra) yer alan kodlama duyurularını algılamaz.

Aşağıda başarılı kodlama yerleşimine bir örnek görebilirsiniz:

<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <script type="text/javascript">... JavaScript kodunuz ...
    </script>.......

Ayrıca web sunucunuzun çakışan HTTP üstbilgileri göndermediğinden emin olun. Web sunucusu tarafından gönderilen üstbilgiler, sayfanızdaki karakter kümesi duyurularını geçersiz kılar.

5. JavaScript (document.write) ile kodlama duyurusu işe yaramıyor

Google Chrome, document.write() ile duyurulan kodlama bilgilerini okuyamaz. Örneğin iç çerçevelerde kodlama duyurusu için bu yöntemi kullanıyorsanız, iç çerçeve görüntülendiğinde karışık karakterlerle karşılaşabilirsiniz. Şunun yerine:

frame1.js

document.write("<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">");... diğer JavaScript kodu ...

...şunu öneririz:

frame1.html

<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <script type="text/javascript">... JavaScript kodunuz ...
    </script>...

6. Google Chrome, iki Çince karakter yerine '%B1%C1%C3%E5' görüntülüyor

Google Chrome, bir URL içindeki sorgu parametrelerini yüzde olarak kodlar. Sunucu tarafı komut dosyalarınızın, verileri işlemeden önce yüzde olarak kodlanmış karakterlerin kodunu gerektiği gibi çözdüğünden emin olun.

Komut dosyaları ve web uygulamaları

7. ActiveX denetimim yüklenmiyor

Eklentinin bir NPAPI sürümünü belirtmeniz gerekir.

ActiveX, Windows'da yalnızca Internet Explorer (ve Internet Explorer üzerine kurulu tarayıcılar) tarafından desteklenir. Google Chrome, Mozilla Firefox, Apple Safari ve diğerleri ActiveX'i desteklemez. Bu tarayıcılar, Netscape Plugin Uygulama Programlama Arabirimi (NPAPI) kullanır.

8. JavaScript'im gerektiği gibi çalışmıyor

Google Chrome'da JavaScript hatalarını görüntülemenin ve bu hataları gidermeye çalışmanın bazı yolları vardır:

  • JavaScript Konsolu: Sayfa menüsü simgesini tıklayın ve Geliştirici > JavaScript Konsolu seçeneklerini belirtin. Oradan JavaScript işleyişindeki hataları görebilir, yürütülmesini istediğiniz ek JavaScript komutları girebilirsiniz.
  • JavaScript Hata Ayıklayıcı: Sayfa menü simgesi > Geliştirici > JavaScript Hatalarını Ayıkla konumundan ulaşabileceğiniz hata ayıklayıcı, kesme noktaları, geri izleme ve benzeri işlevleri ayarlayabileceğiniz bir komut istemi sağlar. Başlamak için hata ayıklayıcı komut satırına help yazın.

Görünüm ve tarayıcı davranışı

9. Sitem, Google Chrome'da Internet Explorer'da olduğundan farklı görünüyor

Google Chrome, Internet Explorer'dan farklı bir oluşturma motoru kullandığından web sayfalarını farklı bir şekilde görüntüleyebilir. Apple Safari, Google Chrome (WebKit) ile aynı oluşturma motorunu kullanır ve sayfaları aynı şekilde görüntülemesi gerekir.

  • Siteniz, hiçbir tarayıcıda gerektiği gibi görüntülenmiyorsa kullandığınız HTML ve CSS'yi http://validator.w3.org/ adresinde test ederek geçerli olduklarından emin olun.
  • Siteniz, Google Chrome veya Apple Safari'de gerektiği gibi görüntülenmiyorsa webkit.org adresinde, http://webkit.org/quality/reporting.html sayfasında açıklandığı biçimde hata bildirin.
  • Siteniz Apple Safari'de gerektiği gibi görüntüleniyor, ancak Google Chrome'da görüntülenmiyorsa, http://code.google.com/p/chromium/issues/list adresine giderek Google Chrome hakkında hata bildiriminde bulunun.

10. Web sitemi Google Chrome'da nasıl test edebilirim?

Web sitenizi Google Chrome'da test etmenize yardımcı olabilecek çeşitli araçlar vardır:

  • Web Denetleyicisi
    Bir web sayfasındaki herhangi bir bileşeni sağ tıklayarak web denetleyicisini başlatabilirsiniz. DOM ve JavaScript konsolunun hiyerarşi görünümü dahil olmak üzere tıkladığınız bileşenle ilişkili öğeleri ve kaynakları görebilirsiniz.
  • Görev Yöneticisi
    Sayfa menü simgesini ve ardından Geliştirici > Görev Yöneticisi seçeneklerini belirtin (veya ÜstKrkt+Esc tuşlarına basın). Görev yöneticisi, çalışmakta olan tüm Google Chrome işlemlerini ve bu işlemcilerin kullandığı kaynakları (bellek, CPU ve ağ) gösterir.
  • JavaScript Hata Ayıklayıcı
    Sayfa menü simgesini ve ardından Geliştirici > JavaScript Hatalarını Ayıkla seçeneklerini belirtin. Bu, mevcut işlemlere eklenebilecek bir JavaScript hata ayıklayıcısını çalıştırır.

11. Harici stil sayfasındaki yazı tipi spesifikasyonları geçerlilik kazanmıyor

Harici stil sayfalarınızın doğru karakter kümesi ve içerik türüyle sunulduğundan emin olun. text/css veya text/css;charset=X olarak sunulmaları gerekir.

HTTP üstbilgisinde stil sayfası için karakter kümesi belirtmemek daha iyidir. Bunun yerine, duyuruyu CSS stil sayfanızın en başına (önünde hiç karakter, boşluk ve satır sonu olmadan) aşağıda gösterildiği gibi ekleyin:

@charset "xxx"

Kodlama bilgisi belirtilmemesi, stil sayfanızın gerektiği gibi ayrıştırılmasını engelleyebilir.

Bu konu hakkında daha fazla bilgi için lütfen http://www.w3.org/TR/CSS21/syndata.html#charset adresindeki World Wide Web Consortium dokümanlarına bakın.

12. Web sitemin pop-up'ları Google Chrome'da görünmüyor

Google Chrome'un varsayılan davranışı, pop-up'ları simge durumuna küçültmek ve ardından tarayıcı penceresinin sağ alt bölümünde pop-up'ların yalnızca başlık çubuğunu görüntülemektir. Kullanıcılar, bir pop-up'ın başlık çubuğunu daha görünür bir konuma sürükleyerek pop-up'ın içeriğini görüntüleyebilir. Bu, pop-up'ların yüklenmesine olanak sağlayarak, çalışması ilgili pop-up'lara bağlı olan sitelerin işlevlerini kesintisiz yerine getirmesine olanak verir. Ayrıca istenmeyen pop-up'ların sayfayı kaplamasını ve kullanıcıların dikkatini dağıtmasını engeller.

13. SSL tarafından korunan web sitem, Google Chrome'da kilit yerine bir ünlem işareti gösteriyor

Bu, sayfada SSL kullanımına ilişkin bir sorun olduğunu gösterir. Google Chrome'da ünlem işaretini tıklamanız, sorun hakkında daha fazla ayrıntı görüntülenmesini sağlar. Sorunlar genellikle sayfanızda bulunan karma içeriğin sonucudur. Örneğin, en üst düzey web sayfanız HTTPS üzerinden sunuluyor ve SSL ile korunuyordur, ancak sayfaya HTTP üzerinden resim, komut dosyası veya CSS gibi öğeler eklemişsinizdir. Kilidin görüntülenmesi için tüm içeriğin HTTPS üzerinden sunulması gerekir.

14. HTML5 veritabanı API'sı, Google Chrome'da desteklenmiyor

Google Chrome ekibi, gelecek bir sürümünde çevrimdışı ve çalışan dahil olmak üzere WebKit'in desteklediği diğer API'ların yanı sıra HTML5 veritabanı API'sını desteklemeyi planlamaktadır.

15. Sayfamı gösteren Google Chrome kısayollarının görünümünü ve işlevini nasıl özelleştirebilirim?

Google Chrome kullanıcıları, Sayfa menü simgesinden Uygulama kısayolları oluştur seçeneğini belirterek herhangi bir web sayfası için kısayol oluşturabilir. Varsayılan olarak, yeni kısayollar, gösterdikleri sayfanın başlığını ve favori simgesini alır.

Dokümanınızın <head> bölümüne belirli meta etiketler ekleyerek sayfanızı gösteren Google Chrome kısayollarının başlığını, açıklamasını ve URL'sini belirtebilirsiniz.

Özelleştirmek için: Etiket Örnek
Kısayol başlığı application-name <meta name="application-name" content="Gmail"/>
Açıklama (daha fazla yer bulunduğunda, örneğin tercihler bölmesinde kullanılır) description <meta name="description" content="Google'ın e-postaya yaklaşımı"/>
Kısayol tıklandığında açılacak URL application-url <meta name="application-url" content="http://www.gmail.com"/>
Kısayol simgesi   <link rel="icon" href="gmail_32x32.png" sizes="32x32"/>
<link rel="icon" href="gmail_48x48.png" sizes="48x48"/>

Örneğin:

<head>
    <meta name="application-name" content="Gmail"/> <meta name="description" content="Google'ın e-postaya yaklaşımı"/> <meta name="application-url" content="http://www.gmail.com"/> <link rel="icon" href=gmail_32x32.png sizes="32x32"/> <link rel="icon" href=gmail_48x48.png sizes="48x48"/> </head>

Bu etiketler, Gears Masaüstü API'sı etiketleriyle yakından eşleşir. Daha fazla ayrıntı için lütfen Araçlar Masaüstü API'sı dokümanlarına bakın.

16. Web sayfam, ayrı bir işlemde nasıl yeni bir sekme açabilir?

Google Chrome'un çok işlemli bir mimarisi vardır. Sekmeler, birbirlerinin işlemlerinden ve ana tarayıcı işleminden ayrı bir şekilde çalışabilir. Ancak bir web sayfasından kaynaklanan yeni sekmeler genellikle aynı işlem kapsamında açılır, böylece orijinal sayfa JavaScript kullanarak yeni sekmeye erişebilir.

Bununla birlikte, yeni sekmede farklı bir web sitesine gidiyorsanız, Google Chrome yeni sekmeleri ayrı bir işlemde açmak için ipuçları arayacaktır.

En kolay yaklaşım, başvuran bilgilerini aktarmadan yeni bir pencereyi hedefleyen farklı bir web sitesinin bağlantısını kullanmaktır. Google Chrome, bunu yeni sayfayı orijinal sayfadan izole tutmak için bir ipucu olarak tanır ve yeni sayfayı ayrı bir işlemde yükler. Örneğin:

<a href="http://differentsite.com" target="_blank" rel="noreferrer">Yeni sekmede ve yeni işlemde aç</a>

Yeni sekmenin, yeni bir işlemde açılmasını ve yine de başvuran bilgilerini aktarmasını istiyorsanız, JavaScript'te şu adımları uygulayın:

  • Yeni sekmeyi, about:blank hedefiyle açın.
  • Yeni açılan sekmenin, orijinal sayfaya erişememesi için opener değişkenini null değerine ayarlayın.
  • about:blank'ten orijinal sayfa dışındaki farklı bir web sitesine yönlendirin.

Örneğin:

var w = window.open();
    w.opener = null;
    w.document.location = "http://differentsite.com/index.html";

Bu ipuçları yalnızca pop-up'ı üreten sayfadan farklı bir alandaki veya farklı bir protokolü kullanan URL'lerde işe yarar. Örneğin, pop-up'ı üreten sayfa http://www.example.com/ üzerindeyse:

  • farklı alan adı, http://www.example.org veya http://www.example2.com olabilir;
  • farklı protokol https://www.example.com olabilir

Web sitemin Chrome Anında URL yükleme özelliğine dahil olmamasını nasıl sağlayabilirim?

"Chrome Anında Arama" özelliğini etkinleştiren bir Google Chrome kullanıcısı, URL'yi adres çubuğuna yazar yazmaz, daha Enter tuşuna basmadan web sayfalarının çoğu yüklenir.

Web sitesi yöneticisiyseniz, Google Chrome'un sizin web siteniz için bu davranışı sergilemesini engelleyebilirsiniz:

  • Google Chrome web sitenizin sunucusundan istekte bulunurken şu üstbilgiyi gönderir:
    X-Purpose: instant
  • Bu üstbilgiyi algılayıp HTTP 403 ("Yasak") durum kodunu döndürün.
  • Google Chrome bu durum kodunu aldığında, web sitenizi, istemcide tutulan bir kara listeye ekler. Bu kara liste, kullanıcının göz atma oturumu boyunca tutulur.

Arama

18. Bir intranet web sitesi adresi girdiğimde, intranet sitesi yerine arama sonuçları sayfası açılıyor

Bir kullanıcı adres çubuğuna tek bir kelime girdiğinde Google Chrome, o terim için bir arama yapar ve kullanıcının varsayılan arama motorunu kullanarak sonuçları döndürür. Ayrıca, Google Chrome, geçerli bir web sitesi olup olmadığını anlamak için http://terim için bir HEAD isteğinde bulunur. Google Chrome, bir HTTP/2xx yanıtı alırsa (HTTP/200 OK gibi), kullanıcıya bu siteyi ziyaret etmek isteyip istemediği sorulur. Tıklayarak komut isteminden siteye gitmeniz, web sitesinin gelecekteki isteklerde söz konusu terim için varsayılan hedef olarak ayarlanmasını sağlar.

Google Chrome, aşağıdakileri aldığında da komut istemini görüntüler:

  • HTTP/401 veya HTTP/407 yanıtı
  • yukarıdaki yanıtlardan herhangi biriyle sayfada son bulan bir HTTP/3xx yeniden yönlendirmesi

Web sunucunuzun bir sayfa için GET isteklerinin yanı sıra HEAD isteklerini de gerektiği gibi yanıtladığından emin olmalısınız.

Örneğin, bir site http://project.intranet.example.com adresinde bulunuyorsa ve o kurumsal ağ içinde bir kullanıcı adres çubuğuna proje yazarsa:

  • Google Chrome, proje terimi için arama sonuçları döndürür
  • Aynı zamanda, Google Chrome, http://proje ifadesinin geçerli bir web sitesi olup olmadığını kontrol eder. Geçerliyse,
  • Kullanıcının http://proje adresini ziyaret etmek isteyip istemediğini soran bir komut görünür
  • Kullanıcı tıklayarak http://proje sayfasına gittiğinde Google Chrome, adres çubuğuna gelecekte proje yazıldığında hedefi http://proje olacak şekilde ayarlar

Kullanıcılar proje/ ya da http://proje yazarak veya proje için arama yap yerine proje/ şeklindeki adres çubuğu girişini seçerek varsayılan davranışı (arama davranışını) geçersiz kılabilir.

19. Sitemin aramasını Google Chrome'un arama seçeneklerine nasıl ekleyebilirim?

Bir OpenSearch açıklama dokümanı (OSDD) sağlayarak Google Chrome'un sitenizi, tarayıcıdaki arama motorları listesine eklemesini sağlarsınız. OpenSearch hakkında daha fazla bilgi için lütfen http://www.opensearch.org adresini ziyaret edin.