Android'de javascript nasıl etkinleştirilir. Yandex tarayıcısında JavaScript: bilgisayarınızdaki ve telefonunuzdaki ayarları nasıl etkinleştirir, devre dışı bırakır, değiştirir, çökmeleri nasıl düzeltir

  • 04.05.2019

Artık tek bir programlama dilinde oluşturulmuş bir site bulmak zor, genellikle modern ve işlevsel kaynak. Yandex tarayıcısı için JavaScript, dinamik eylemlerden sorumludur, dil, manipülasyonları eşzamansız olarak, yani sayfayı yeniden yüklemeden gerçekleştirme yeteneği ile ayırt edilir. İçeriği değiştiren her türlü işlem (videolar ve oyunlar hariç) JS dilinin yetenekleri sayesinde gerçekleştirilir. Yandex tarayıcısında JavaScript etkinleştirilmelidir, çünkü devre dışı bırakılırsa çoğu site çalışmayı durdurur, ekranda bir hata görüntülenir veya içerik görüntüleme başarısız olur.

JavaScript'i devre dışı bırakmaya veya etkinleştirmeye karar vermeden önce Yandex tarayıcısı, bu programlama dilinin neden sorumlu olduğunu anlamak önemlidir. Genel olarak JS etkileşimli dil, herhangi bir eylemi doğrudan sayfada gerçekleştirir.

JavaScript'in örneklerle sorumlu olduğu şey:

  • Kullanıcı adı ve şifrenin doğruluğunu kontrol etmek. Kayıt aşamasında doğru ve yanlış doldurulan alanlar JS kullanılarak vurgulanır ve ipuçları görüntülenir;
  • Sekmeleri yeniden yüklemeden sayfaları yenileyin. Çoğu site bölümler arasında geçiş yaparken tamamen yüklenir, ancak sayfaları yeniden oluşturmadan her şeyin anında gerçekleştiği siteler de vardır. Çarpıcı bir örnek, müzik sekmesinin, aramanın, beslemeye haber eklemenin ve çok daha fazlasının JS'de uygulandığı VK'dır;
  • Reklam bağlantısı. Tartışmalı nokta, elbette, reklamın araya girmesidir, ancak daha önce reklam sunucularına bağlanması bekleniyordu ve ancak bundan sonra sayfa oluşturuldu, ancak şimdi içerik hemen yüklenip görüntüleniyor ve reklamlar daha sonra yükleniyor. Sonuç olarak, sayfa yükleme hızı artar;
  • Etkileşimli menüler ve değişen öğe stilleri. Herkes, belirli eylemlerden (tıklamalar, fareyle üzerine gelme vb.) sonra renk değişikliklerinin meydana geldiği siteleri gördü. bireysel düğmeler, bloklar veya hatta sayfalar. CSS'yi :hover sözde sınıfıyla kullanarak, fareyle üzerine gelindiğinde bir öğenin stilini değiştirecek şekilde ayarlayabilirsiniz, ancak daha fazla dil yetenekli değil, diğer tüm eylemler JS üzerinde gerçekleştirilir;
  • Animasyon. Genellikle bunlar basit animasyon efektleridir: slaytlar arasında gezinme, yağan yağmur veya kar taneleri, belirli blokların içeriğini genişletme;
  • Sunucu ile asenkron iletişim. Dili kullanmamızın ana nedenlerinden biri, sayfayı yenilemeden kontrol edebileceğimiz: böyle bir takma ad olan bir kullanıcı var mı, giriş ve şifre doğru girildi mi, vb. Bir sayfa bir istek gönderebilir ve sunucu veritabanından hemen bir yanıt alabilir.

Java desteği Yandex tarayıcısındaki komut dosyası aşağıdakiler için önerilir: normal operasyon kaynaklar, çünkü her şey büyük miktar site sahipleri, JS'siz kullanıcılarla çalışmayı reddediyor. Ayrıca orada arka taraf Java Script, tarayıcıda potansiyel olarak savunmasız bir öğedir. Dolandırıcılar tarafından kişisel verileri çalmak veya virüs bulaştırmak için kullanılabilir. Güvenilmeyen bir kaynak kullanmanız gerekiyorsa, siteyi kullandığınız süre boyunca JS'yi devre dışı bırakmak daha iyidir.

Önemli! Varsayılan olarak tam versiyon Yandex Browser JS zaten etkin, yani temiz tarayıcı eklentiyi etkinleştirmeye gerek yoktur. AT mobil versiyon Javascript devre dışı bırakılabilir iOS platformu dilin güvenlik açığını açıkladı ve desteklemeyi reddetti.

Yandex tarayıcısında JavaScript nasıl etkinleştirilir?

Yandex tarayıcısında JavaScript'i etkinleştirmenin bir tane var, ancak kolay bir yolu var, uygulamak için tarayıcı ayarlarını kullanmanız gerekecek.

Yandex tarayıcısında JavaScript etkinleştirme işlemi:

Yandex tarayıcısında JavaScript eklentisini bulmadaki zorluklar nedeniyle etkinleştirmek mümkün değilse, "Ayarlar" sayfasında, pencerenin sağ tarafında, "Arama ayarları"nda "JavaScript" girebiliriz. astar. Web tarayıcısı, ayarın bulunduğu bölümü otomatik olarak bulacak ve tıklamanız gereken düğmeyi vurgulayacaktır. Ayarlar sayfasına giderek sekmeyi biraz aşağı kaydırın ve burada zaten açabiliriz JavaScript komut dosyaları Yandex tarayıcısında.

Sağlıklı! JS'yi devre dışı bırakan kullanıcılar genellikle ayarları ve tanımlama bilgilerini değiştirmeye çalışır. Çerezleri devre dışı bırakmak, bazı sitelerin tamamen kullanılmasını imkansız hale getirecektir. Diğer kaynaklar tanımlama bilgileri olmadan çalışmaya hazırdır, ancak korunan bölümlere ve hesaplara erişim mümkün olmayacaktır. Herhangi bir filtre ve diğer ayarlar başarısız olur. Çoğu web sitesi, çerezler ve JS arasında yoğun bir etkileşime sahiptir.

Çerezleri ve JavaScript'i Yandex tarayıcısında aynı şekilde etkinleştirebiliriz: "sayfaya git" İçerik ayarları ", " adlı ilk bölüme ihtiyacımız var. Kurabiye”, burada “Yerel verilerin kaydedilmesine izin ver” ayarını yapıyoruz. Aşağıda JS'yi de aynı şekilde dahil ediyoruz.

Yandex tarayıcısında JavaScript nasıl devre dışı bırakılır?

Yandex tarayıcısında JavaScript'in devre dışı bırakılacağı bir yer için uzun süre aramamıza gerek yok, çünkü prosedür aynı pencerede ve yerde gerçekleştirilir.

Yandex tarayıcısında Javascript'i devre dışı bırakın:


Yandex tarayıcısında JS nasıl kurulur?

Yandex tarayıcısında görüntüleyebileceğimiz ve değiştirebileceğimiz bir yer var. JavaScript ayarları, yani tarayıcıya JS'nin belirli bir sitede çalışıp çalışmayacağını söylemek. Kişiselleştirmenin 2 yolu vardır:

  • Kendi kara listenizi oluşturun. Listelenen siteler dışında tüm kaynaklarda JS'nin etkinleştirildiği varsayılır;
  • Biçim " Beyaz liste". Tarayıcıda JavaScript devre dışı bırakılmışsa, bunu dinamik bir dil olmadan yapamayan tek tek siteler için çalıştırabiliriz.

Listeler nasıl kurulur:


Listelere site eklemenin veya listelerden site çıkarmanın daha da kolay bir yolu var, özellikle ayarlara gitmenize ve sitelerin URL'lerini kopyalamanıza gerek yok. JavaScript'i doğrudan Yandex tarayıcısında bulabiliriz. arama hattı herhangi bir sitedeyken.

İstisnaları yönetmenin kolay bir yolu:


JavaScript neden Yandex tarayıcısında çalışmıyor ve bununla nasıl başa çıkılır?

JS ile ilgili sorunların ortaya çıkmasının birkaç nedeni vardır:


İlginç! Dilin sonucunu görsel olarak görmek için kullanabiliriz JavaScript konsolu Yandex tarayıcısında. Herhangi bir siteye gidin ve tıklayın sağ tık fare, seçenekler arasından "Öğeyi keşfet" seçeneğini seçin. "Konsol" sekmesine tıklayın ve - uyarı ('İyi günler') girin. Tarayıcı sekmesinde bir bildirim görünmelidir. Panelde hemen hemen her eylemi gerçekleştirebiliriz, ancak kod yazma yapısı ve yolu hakkında temel bilgi gereklidir.


Karşın potansiyel güvenlik açığı teknoloji, Yandex tarayıcısında JavaScript'i etkinleştirmenizi öneririz, aksi takdirde web tarayıcısının kullanımı pek rahat sayılmaz. Tehlikeli sitelerde, JS'yi devre dışı bırakmak yine de daha iyidir.

Tünaydın. Javascript birkaç programlama dilinden biridir. Üzerinde sitelerin çeşitli unsurları yazılıdır. Onsuz, aynı alışveriş sepeti yoktur. Onsuz, birçok site düzgün çalışmayacak ve beceriksiz görünecek. Bu nedenle, tam teşekküllü çalışma veya internette sadece hoş bir zaman geçirmek için gereklidir. Pekala, bu makaleden bir Android akıllı telefonda Javascript'i nasıl etkinleştireceğimizi öğreneceğiz.

Android işletim sistemine sahip üretilen tüm gadget'larda, tarayıcılarda varsayılan olarak zaten kuruludur. Ancak yanlışlıkla kapatmış ve tekrar açmak istemeniz oldukça olasıdır.

Aşağıda, “JavaScript'i etkinleştirmek için ne ve nasıl yapacağınızı anlatacağız. ” . Java Komut Dosyasını etkinleştirmenin iki yolu vardır en sevdiğiniz cihazda.

Yöntem 1.

Tarayıcınızı cihazda başlatın. Üreticiye ve markaya bağlı olarak bu, "İnternet" veya "Tarayıcı"dır. Aniden ekranda görünmüyor, sonra "Uygulamalar" da buluyoruz.

Yani tarayıcı çalışıyor ve çalışıyor. "Menüyü" buluyoruz (tarayıcının sağ üst köşesinde veya telefon ekranında olacak) ve "Ayarlar" a giriyoruz. Açılan tarayıcınızın ayarlar penceresinde "Gelişmiş"e tıklayın. Bir liste görünecek tarayıcı ayarları. “Javascript'i Etkinleştir” seçeneğinin yanındaki kutuyu işaretleyin ve ayarlar menüsünden çıkın. Yeni ayarların etkili olması için tarayıcınızı yeniden başlatın. Ve sevin" Javascript".

Yöntem 2.

Artık hemen hemen herkesin Google Chrome' varsayılan tarayıcı olarak. Esas olarak üreticiler ve geliştiriciler tarafından yüklenir. "Google Chrome" uygulamasını başlatalım ve Chrome ayarlarında Javascript'i açalım.

Bunu yapmak için, "Google Chrome" tarayıcısının ayarlarına gidin. Bunlar dikey olarak duran üç karedir. "İçerik Ayarları"nı bulun ve tıklayın. "Gelişmiş" bölümünde, "JavaScript'i Etkinleştir"in yanındaki kutuyu tekrar işaretlemeniz ve sayfamızı yeniden yüklemeniz yeterlidir. Yeni ayarlar geçerli olacak ve bunları güvenle kullanabiliriz.

Her şey oldukça basit. Umarım bu basit eylemler sizin için fazla zorluk yaratmamıştır ve her şey yoluna girmiştir. İyi şanslar ve hoşçakal.

Evet. Aniden kaldırmak istersen " JavaScript”, sonra kutunun işaretini kaldırın ve bu kadar. Ama bunu yapmanı tavsiye etmem. Bundan kimse iyileşemeyecek. Hatta tam tersi.

Sizi tekrar web sitemizde görmek için sabırsızlanıyoruz!

JavaScript, çoğu dinamik sayfada kullanılan bir programlama dilidir. küresel ağ. Komut dosyaları, sıkıcı bir siteyi renkli ve hareketli bir kaynağa dönüştürmeye yardımcı olur. Bu tür hizmetler daha da artıyor daha fazla görüntüleme ve sahiplerine fayda sağlar. Ancak JavaScript'e sadece programcılar tarafından değil, aynı zamanda site sayfasının renkliliğini tam olarak anlayabilmek için kullanıcılar tarafından da ihtiyaç duyulmaktadır.

Bu seçenek hepsinde var modern ağ tarayıcılar ve varsayılan olarak etkindir. İşlev iki durumda çalışmayabilir: kullanıcı tarafından devre dışı bırakıldığında veya güncellemeler mevcut olmadığında. Hem birinci hem de ikinci örneklerde JavaScript, belirli içeriği çalıştırmaya çalışırken hata mesajları verecektir. Genellikle bir eklentinin olmaması, bağlantıların veya oturum açma pencerelerinin görüntülenmesine müdahale eder ve bunun sonucunda herhangi bir kaynağı ziyaret etmek imkansız hale gelir.

Yandex'de JavaScript nasıl etkinleştirilir

Bu kılavuz yalnızca dizüstü bilgisayar, ultrabook ve sabit bilgisayar kullanıcıları için uygundur. Standart işletim sistemlerinde tablet ve akıllı telefon sahipleri için aşağıdaki algoritma verilecektir.

Bir tablette Java desteği nasıl etkinleştirilir

  • JavaScript'in sorunun nedeni olduğundan emin olmak için, ekranla ilgili diğer tüm ayarları kontrol edin. multimedya içeriği, trafik kontrol seçenekleri, antivirüs ve diğer uygulamalar ekrana müdahale edebilir.
  • Ardından, ana menüye gitmeniz ve Yandex.Browser'ı seçmeniz gerekir. Varsayılan olarak sistem tarafından kullanılması arzu edilir (bu, tarayıcı alt menüsünde yapılandırılabilir).
  • Adın yanındaki düğmeye (üç nokta şeklinde görünüyor) veya özel bir işlev tuşuna basarak ayarlara gidin.
  • "Gelişmiş" bölümünde, JavaScript etkinleştirme öğesinin bulunduğu site ayarlarına sahip bir sekme vardır.
  • "Etkinleştir" veya "İzin Ver"in yanındaki kutuyu işaretleyin.

Artık herhangi bir içerik sayfasına gidebilirsiniz ve farkı göreceksiniz. AT çeşitli modeller telefonlar ve tabletler, düğmelerin yeri farklı olabilir, ancak algoritma her yerde aynıdır. İçin kararlı çalışma uygulamanın periyodik olarak güncellenme fırsatı vermesi önemlidir, çünkü Programlama dilleri ve özellikler sürekli geliştirilmekte ve kullanımdan kaldırılmış eklenti en son öğeleri göstermeyebilir.

JavaScript ile bir mobil ortamda çalışmaya başlarken, genel olarak bu dil için destek düzeyini ve özellikle bazı özellikleri (eski ve zaman içinde test edilmiş olanlar dahil) öğrenmek önemlidir.

Algılama işlevi

Bir özelliğin, API'nin, nesnenin veya işlevin kullanılabilir olup olmadığını bulmanın en kolay yolu, sorgu yapmaktır. basit operatör eğer:

Eğer (nesne) ( // Nesne mevcut )

Örneğin:

If (document.getElementById) ( // DOM işlevi kullanılabilir )

Bunlarda bile mobil cihazlar, JavaScript desteğinin olduğu yerde, bahsediyorsak, kullanıcı veya şirket ayarlarından dolayı çalışmayabilir. kurumsal bağlantı(örnek olarak - BlackBerry cihazları). Her zaman sitenizin işlevselliğinin JavaScript olmayan bir sürümünü yapın.

Standart İletişim Kutuları

JavaScript, modern masaüstü web sitelerinin geliştirilmesinde pek takdir edilmeyen ve genellikle Dinamik HTML veya UI kitaplıkları ile değiştirilen belirli bir dizi standart iletişim kutusunu destekler. Mobil web sitelerinde standart diyalog kutuları kullanım için çok uygundur (şekil 8.1).

Pirinç. 8.1. Standart JavaScript iletişim kutularını kullanarak, kontrolleri kullanarak ücretsiz, zengin ve çok platformlu bir arayüz elde edeceksiniz. Kullanıcı arayüzü işletim sisteminden

Kullanılabilir iletişim kutularının listesi:

  • bir mesaj görüntülemek için uyarı;
  • eylemin kullanıcı onayını almak için onaylayın;
  • kullanıcıdan bir dize alma istemi;
  • yazdırılacak bir web sayfasını göndermek için yazdır;
  • tarayıcının arama işlevini aramak için bul.

Bul iletişim kutusu standart değildir, ancak neredeyse tüm IE olmayan masaüstü tarayıcılarda çalışır. Bu diyalog üç ek parametreler: bulunacak metin, büyük/küçük harf duyarlılığı (boolean) ve arama yönü bayrağı (boolean). Genel olarak mobil tarayıcılarda bu pencereyi kullanmaktan kaçınmalısınız. Çoğunun hiçbir arama işlevi yoktur.

Yazdır iletişim kutusu, bariz nedenlerden dolayı mobil cihazlar ve tarayıcılarla uyumlu değildir, ancak uyarı, onaylama ve istem hemen hemen herkes için gayet iyi çalışır. cep telefonu JavaScript desteği ile (tablo 8.3). Gerekirse bunları güvenle kullanabilirsiniz. Standart bir iletişim kutusu kullanmak, aynı görev için başka bir çözüm kullanmaktan her zaman daha hızlı, daha kolay ve daha az sorunludur.

Sekme. 8.3. Görüntü Formatı Uyumluluk Tablosu
Tarayıcı/ Platform uyarmak, onaylamak, istemek
safari Evet
android tarayıcı Evet
Symbian/S60 Evet
Nokia Serisi 40 Evet
web işletim sistemi Evet
böğürtlen Evet
NetFront Evet
Açık Dalga (Sayısız) Evet
Internet Explorer Evet
Motorola İnternet Tarayıcısı Evet
Opera Mobil Evet
Opera Mini Evet, sunucuda işleniyorlar

Uyarı iletişim kutusundaki (ve diğer pencerelerdeki) tipik sorunlar, çok satırlı metin için satır başları ve bu alan için çok fazla metin görüntülemedir. Masaüstü JavaScript'teki ilk sorunu çözmek için "n" özel karakteri kullanılır. başkaları var Özel semboller"t" sekmesi gibi kaçınılması gereken. Mobil tarayıcılarda her iki sorunda da durumun nasıl olduğunu görelim. Tablo 8.4, iletişim kutularına yeni satırlar ve büyük metin ekleme desteğini gösterir ve Şekil 8.2, nasıl yapılacağını gösterir. uzun metin kaydırma alanı uygulanır.

Pirinç. 8.2. Bazı tarayıcılarda büyük pencere uyarısı kaydırma çubukları vardır (veya dokunmatik cihazlarda dokunarak kaydırılabilir).

Sekme. 8.4. Çok satırlı ve kaydırma çubuğu uyarı pencereleri için destek tablosu
Tarayıcı/ Platform n uyarı penceresinde Uzun metinler için kaydırma desteği
safari Evet evet değişir dış görünüş kaydırılabilir uyarı pencereleri
android tarayıcı Evet kaydırma
Symbian/S60 Evet kaydırma
Nokia Serisi 40 Evet kaydırma
web işletim sistemi Hayır, bir satır gösteriyor Hayır, metin kaydırılmadan kesiliyor
böğürtlen Evet kaydırma
NetFront Evet Otomatik kaydırma
Internet Explorer Evet kaydırma
Motorola İnternet Tarayıcısı Evet kaydırma
Opera Mobil Evet kaydırma
Opera Mini Evet kaydırma

Kullanılabilirlik amacıyla, bir cihazda Sayısal tuş takımı, o zaman onu kullanmak daha iyidir, seçenekli bir liste değil. Sayısal tuş takımının özellikle sayıları girmek için kullanıldığını unutmayın.

Belgeye yaz

Document.write işlevi izin verir dinamik oluşturma HTML kodu işlenirken. 90'lı yıllarda çok popüler yöntem, ancak şimdi modern sitelerde kullanımının birçok dezavantajı var. Günümüzde belge manipülasyonu daha çok şu durumlarda kullanılmaktadır. DOM yardımı sonrasında .

Komut dosyanızda document.write kullanmıyorsanız, defer="defer" komut dosyası özniteliğini kullanmanız gerekir. Uygun desteğe sahip tarayıcılar için bu özellik, onlara belgeyi oluşturmaya devam etmek için bir indirme veya komut dosyası yürütmesini beklememelerini söyleyecektir.

AT mobil geliştirme Document.write işlemiyle ilgili sorunlardan kaçınmak için bazen DOM kullanmamak daha iyidir (özellikle düşük kaliteli cihazlar için). Tablo 8.5, bu yöntemin hala birçok tarayıcıda çalıştığını göstermektedir.

Örneğin, belgenin başlangıç ​​ağırlığını azaltmak için yıl seçici listesi dinamik olarak oluşturulabilir. Aşağıdaki kod bu tekniğin nasıl uygulanacağını gösterir:

Belge Yazma



Olay işleyicide document.write kullanmamanın daha iyi olduğunu unutmayın, aksi takdirde sonuçlar son derece tatsız olabilir. Bir sayfada dinamik olarak içerik oluşturmak için Document.write yerine DOM kullanmak daha iyidir.

Platform algılama

JavaScript, bize kullanıcının tarayıcısı hakkında bilgi veren bir gezgin nesnesi sağlar. Sunucu tarafı bulma tekniğinden daha sonra bahsedeceğiz ama şimdilik bu yöntemi kullanarak kullanıcının cihaz türünü keşfetmeye çalışalım.

for kullanırken, dizin değişkenini yerel olarak var i=initial_value olarak tanımlamayı unutmayın. Bu yapılmazsa, ek hatalara ve performans sorunlarına yol açacak olan global değişken kullanılacaktır.

Navigator nesnesinin birçok özelliği vardır, ancak biz en çok appName (tarayıcı adı), appVersion (tarayıcı sürümü), mimeTypes (desteklenen MIME türleri dizisi), eklenti ( için desteklenen eklentiler), platform (işletim sistemi) ve userLanguage ile ilgileniyoruz. özellikleri.

Bu özniteliklerin istediğimiz değerlere sahip olduğundan emin olmak için indexOf string işlevini kullanacağız. Örneğin:

// Bir Android cihazı olup olmadığını algılar var android = (navigator.platform.indexOf("android")>=0); if (android) ( // Bir şeyler yap )

Tablo 8.6, her tarayıcı için hangi değerlerin döndürüldüğünü gösterir. Tabloda, varsayalım ki Kullanıcı aracısı her cihazın kullanıcı aracısı kimliği ile değiştirilecektir.

Sekme. 8.6. Mülk destek tablosu JavaScript nesnesi gezgin
Tarayıcı/ Platform uygulama ismi Uygulama sürümü mimeTypes platform
safari Netscape 5.0 () dizi iPhone, iPod veya iPad
android tarayıcı Netscape 5.0 () dizi hükümsüz
Symbian/S60 Netscape 5.0 () dizi S60
Nokia Serisi 40 ila 6. baskı Nokia boş dize Tanımsız Tanımsız
Nokia Series 40 6. sürüm Netscape 2.0 Tanımsız Nokia_Series_40
web işletim sistemi Netscape 5.0 () dizi web işletim sistemi
böğürtlen Netscape dizi böğürtlen
NetFront ERİŞİM Net Ön dizi Bilinmeyen
Internet Explorer Microsoft IE Mobil boş dize Tanımsız Çekinme
Motorola İnternet Tarayıcısı Netscape 5.0 dizi WiderWeb
Opera Mobil Opera (Symbian veya Windows) dizi Symbian veya Windows
Opera Mini Opera dizi turna

Pencere boyutu

JavaScript'te boyutlarla ilgilenen iki nesne vardır: document.documentElement ve ekran. İlki, belgenin görüntü alanının boyutunu, ikincisi ise bir bütün olarak cihazın ekranını ifade eder. Bu yazının yazıldığı sırada, pencerelerin sığmasına izin veren bir tarayıcı yoktu. daha az ekran cihazın kendisi. Birçok cihazda, ekranımızı tanımlamak için web widget'larını kullanabiliriz, ancak bu farklı bir yoldur ve bunun hakkında daha sonra konuşacağız (Bölüm 12).

BlackBerry cihazlarının iki nesnesi olan global bir değişkeni (böğürtlen) vardır: konum ve ağ. konuma daha sonra bakacağız, ancak şimdi ikinci özellik ile ilgileneceğiz: ağ sayesinde, istemcinin ne tür bir bağlantı kullandığını öğrenebiliriz - WiFi, GPRS, EDGE, CDMA veya başka bir ağ. Android tarayıcısı (sürüm 2.2'den beri) benzer bir navigator.connection.type özelliğine sahiptir.

Screen nesnesinin dört özelliği vardır: genişlik, yükseklik, boş genişlik ve boş yükseklik. Son ikisi boyutu karakterize eder kullanılabilir alan Araç çubukları arasında belirli bir işletim sistemi. Mobil geliştirmede, bu prensipte normal ve .

Çoğu zaman, pencere boyutu verileri document.documentElement.clientWidth ve document.documentElement.clientHeight kullanılarak elde edilir.

Sayfa yüklendikten sonra bu özelliklerin değerlerini değiştirmenin tek yolu ekran yönünü değiştirmektir (örneğin dikeyden yataya). Tablo 8.7, bir mobil cihazda ekran ve pencere boyutu hakkında veri elde etmenin mümkün olduğu tarayıcıları ve ayrıca sayfa yönü değişikliğinin (portre/yatay) mevcut olduğu tarayıcılara ilişkin bilgileri gösterir.

Sekme. 8.7. Ekran özellikleri ve olaylar uyumluluk tablosu
Tarayıcı/ Platform ekran boyutu Pencere boyutu Oryantasyon değişikliği
safari Evet Evet onorientationchange ve onresize
android tarayıcı Evet Evet yeniden boyutlandırmada
Symbian/S60 evet, farklı tam ekran modu Evet yeniden boyutlandırmada
Nokia Serisi 6. sürüme kadar yok 6. sürüme kadar yok Değil
web işletim sistemi Evet görüntü alanı boyutu yeniden boyutlandırmada
böğürtlen 4.6 sürümünden önce hayır Değil bazı cihazlarda document.onresize
NetFront Evet Değil Değil
Internet Explorer Evet Değil Değil
Motorola İnternet Tarayıcısı Evet Evet Değil
Opera Mobil Evet Evet Değil
Opera Mini Evet Evet Değil

Geçmiş ve URL Yönetimi

JavaScript, tarayıcı geçmişini yönetmek için konum ve geçmiş nesnelerini kullanır. Konum nesnesi, tam URL için href ve çapalar için karma gibi çeşitli özelliklere sahiptir ( URL'nin bir parçası, ki bu #'den sonra gelir). location.href özelliğinin değiştirilmesi, tarayıcıyı başka bir sayfaya yönlendirecektir (cihaz destekliyorsa). İki tane iyi yollar: aynı sayfayı yeniden yüklemek için reload() ve değiştirmeden(url) Yeni Rekor geçmişinde kullanıcıyı başka bir sayfaya gönderir.

Mobil cihazınızın pilinden tasarruf etmek için daha az JavaScript kullanmaya çalışmanız gerektiğini bir kez daha hatırlatmama izin verin.

History nesnesinin pek gerekli olmayan birkaç özelliği ve üç yöntemi vardır: back() , go(number) ve forward() . back() yöntemi genellikle bir geri düğmesini taklit etmek için kullanılır:

Geri

Mobil tarayıcılar için geliştirdiğimizi ve bazen kullanıcının siteyi tam ekran modunda görüntüleyebileceğini ve burada görüş alanında hiçbir tarayıcı düğmesinin bulunmadığını unutmayın. Bu nedenle mobil sitelerde, masaüstü sitelerden farklı olarak, bir bağlantı veya bir “Geri” düğmesi çok daha gereklidir.

Tablo 8.8 ile denerseniz ne olacağını gösterir. JavaScript yardımı geçmişi ve konumu yönetin.

Sekme. 8.8. Destek tablosunu yönlendir
Tarayıcı/ Platform href, değiştirme, yeniden yükleme ve history.back desteği
safari Evet
android tarayıcı Evet
Symbian/S60 Evet
Nokia Serisi Evet
web işletim sistemi Evet
böğürtlen Evet
NetFront Evet
Internet Explorer Evet
Motorola İnternet Tarayıcısı Evet
Opera Mobil Evet
Opera Mini Evet, sonuçları yeni bir geçmiş girişinde yeniden yükle

Pencere yönetimi

JavaScript'teki en popüler (ve can sıkıcı) özelliklerden biri, standart bir açılır pencere açmak için window.open kullanmaktır. İle farklı sebepler bu yöntem mobil tarayıcılar için pek uygun değildir. Birçok tarayıcı aynı anda birden fazla pencere açamaz (Şekil 8.3 açabilen bir pencereyi gösterir) ve pop-up'lar için öznitelikleri tanımlayamıyoruz - her pencere tam boyutta açılacaktır (ana pencere olarak).

Pirinç. 8.3. Android tarayıcı pencere pervazı tasarımı ile açılır pencereleri açabilen az sayıdakilerden biridir.

Ana ve açılır pencere arasındaki bağlantı da genellikle düzgün çalışmıyor. Pekala, bazı tarayıcılarda açılır pencereleri kapatmak oldukça sorunlu olabilir, çünkü bunlar açılır pencereyi normal olarak ele alabilirler ve window.close sadece açılır pencerelerde çalışır.

Bu nedenle, mümkünse açılır pencereleri kullanmayın. Herhangi bir özel nedenden dolayı onsuz yapamıyorsanız, o zaman pencerenin daha sonra açıldığından emin olun (pencereyi bir zamanlayıcı kullanarak veya kullanarak açmaktan kaçının ve bazı orta ve düşük seviye cihazların kullanıcılarının görmeyeceğini unutmayın) Bu durumda pencere.

Daha iyi bir seçenek var: ="_blank" ile bir bağlantı kullanın. Mobil cihazlarda sonuç, window.open kullanımındakiyle aynı olacak ve tüm tarayıcılarda çalışacaktır. Tarayıcı aynı anda birkaç pencere açamıyorsa, mevcut pencere değiştirilecektir.

Tablo 8.9 nasıl yapılacağını gösterir farklı tarayıcılar window.open'in işlenmesiyle ilgili durum

Sekme. 8.9. window.open destek masası
Tarayıcı/ Platform window.open davranışı
safari _blank ile aynı şekilde çalışır. window.close, ancak kullanıcı bir sonraki pencereye yönlendirilecek ve orijinal pencereye geri dönmeyecek.
android tarayıcı Evet, bir açılır pencere açılacaktır. Belirttiğiniz pencere boyutu yok sayılacaktır.
Symbian/S60 Yeni bir pencerede açılır.
Nokia Serisi Aynı pencerede açılır.
web işletim sistemi Yeni bir kartta açılır. window.close çalışmıyor.
böğürtlen Aynı pencerede açılır. 4.6 sürümünden önce, kullanıcıya onu açmak isteyip istemediği sorulur.
NetFront
Internet Explorer aynı pencerede açın. window.close çalışmıyor.
Motorola İnternet Tarayıcısı Aynı pencerede aç
Opera Mobil Aynı pencerede aç
Opera Mini Aynı pencerede aç

Odaklanma ve kaydırma kontrolü

Odak işlevini kullanarak, tıklanabilir her DOM öğesi (veya bağlantılar, formlar, düğmeler) için odağı ayarlayabilirsiniz. Form öğeleri için bu yöntemi kullanmak en iyisidir. Davranış senaryosu tarayıcıya bağlı olarak değişecektir. bazılarında dokunmatik cihazlar vuruşta Metin alanı odakta otomatik olarak açılmalıdır ekran klavyesi, ve imleç gezinme özelliğine sahip bazı tarayıcılarda imleç öğeye hareket edecektir.

Kullanıcının görüntülediği sayfada formlar varsa (örneğin, bir arama veya iletişim sayfası), odağın otomatik olarak ilk metin alanına yerleştirilmesi kullanılabilirlik açısından daha iyi olacaktır, bu da kullanıcının gerçekleştirdiği sayfa geçişlerinin sayısını azaltacaktır. gezinmesi gerekiyor.

Bazı cihazlarda, global pencere nesnesi, ekranın sol üst köşesine göre konumu gösteren xPosition ve yPosition olmak üzere iki değer alan bir scrollTo işlevine sahiptir. Bazı cihazlar (iPhone gibi), kullanıcı tarafından kaydırmayı taklit eden ve tarayıcı çubuğunu gizleyen scrollTo kullanır (etki, kullanıcının parmaklarıyla kaydırma yapmasıyla aynıdır). İPhone tarayıcıları için, bu kod sıklıkla kullanılır, bu kod, onload olayından sonra tarayıcı araç çubuğunu otomatik olarak gizler:

Window.scrollTo(0, 1);

Gerekli desteğe sahip cihazlarda bu işlev, sayfanın en üstüne gitmek için bir bağlantı oluşturmak için de kullanılabilir:

Başa gitmek

Hangi tarayıcıların odak ve kaydırma işlevlerini desteklediğini Tablo 8.10'da görebilirsiniz.

Sekme. 8.10. Odak ve kaydırma işlevi desteği
Tarayıcı/ Platform odak kaydırmak
safari Evet Evet
android tarayıcı Evet Evet
Symbian/S60 Evet Evet
Nokia Serisi 40 Değil Değil
web işletim sistemi Değil Değil
böğürtlen Değil Değil
NetFront Değil Evet
Internet Explorer Değil Evet
Motorola İnternet Tarayıcısı Değil Değil
Opera Mobil Evet Değil
Opera Mini Değil Değil

zamanlayıcılar

JavaScript bize iki tür zamanlayıcı sunar: setTimeout ve setInterval. İlk tür zamanlayıcı bir kez uygulanır ve ikincisi clearInterval ile eylemi durdurulana kadar her n saniyede bir yürütülür.

Animasyonlar oluşturmak, belirli bir işlemde zaman aşımı süresini kontrol etmek için zamanlayıcıları kullanabilirsiniz ve Ajax kullanarak, her n saniyede bir sunucudan bilgileri güncellemek için bir zamanlayıcı kullanılabilir.

Mobil tarayıcılarda zamanlayıcı çok fazla pil gücü tükettiği için çok dikkatli kullanılmalıdır. Birden fazla yüksek frekanslı zamanlayıcı kullanmanız gerekiyorsa, hepsini çalışacak olan tek bir zamanlayıcı ile kontrol etmeyi deneyin. çeşitli süreçler farklı koşullar altında.

Cevaplamanız gereken ilk soru şudur: Kullanıcı odağı başka bir uygulamaya (çok görevli işletim sistemlerinde alakalı) taşıdığında veya yeni bir pencere veya sekme açtığında siteye ne olur? İkinci nokta: telefon bekleme moduna geçerse (kullanıcı etkinliğinin olmaması nedeniyle) uygulamamıza/sitemize ne olur. Komut dosyası çalışmaya devam edebilir. Ve bu pek iyi değil. Bu tür durumlar için muhasebe, zamanlayıcının davranışını zorlaştırır.

Zamanlayıcılarla ilgili başka bir sorun daha var - ana komut dosyasıyla aynı iş parçacığında çalışıyorlar. Komut dosyanız çok fazla CPU kaynağı ve işlem süresi gerektiriyorsa (düşük ve orta uç cihazlarda büyük komut dosyaları genellikle böyledir), zamanlayıcıların başlaması boş kaynaklar olana kadar ertelenir.

Zamanlayıcı için çok kullanacağız yüksek frekans(örneğin, 10 milisaniye), zamanlayıcının eylemleri işlemede sorun yaşaması muhtemeldir.

Bu hızı hatırla JavaScript işleme büyük ölçüde cihazın kendisinin ve tarayıcı motorunun özelliklerine bağlıdır. Hatta farklı cihazlar Android gibi aynı işletim sisteminde çalışsa bile işlem süresi farklı olacaktır: örneğin HTC G1, 1 Ghz işlemcili Nexus One'dan çok daha yavaştır.

Basit bir örnek alalım ve bir web sayfası arka plana geçtiğinde genellikle ne olduğunu görelim:

Zamanlayıcıları Kullanma



Şekil 8.4'te görebileceğiniz gibi, gerçek yürütme süresi cihazlar arasında büyük farklılıklar gösterir. Düşük ve orta seviye cihazlarda, eğer komut dosyası hiç çalışıyorsa, işlem süresi ihtiyacımız olan 200 milisaniyeden uzaktır - bazı düşük seviye cihazlar, frekansı 1 saniyeden az olan zamanlayıcılarla çalışamaz.

Pirinç. 8.4. Zamanlayıcılar her zaman istediğimiz frekansa sahip olmayacaktır.

Tablo 8.11, hangi tarayıcıların zamanlayıcıları desteklediğini ve sayfa içindeyken bunların nasıl işlendiğini gösterir. arka fon.

Sekme. 8.11. Zamanlayıcı destek tablosu
Tarayıcı/ Platform Zamanlayıcı Kullanılabilirliği Arka planda zamanlayıcılar
safari Evet durur. iOS 4.0'dan: Yeni bir pencerede çalışırken çalışmaya devam eder.
android tarayıcı Evet durur.
Symbian/S60 Evet durur. 2.2'den itibaren: Yeni bir pencerede çalışırken çalışmaya devam eder.
Nokia Serisi 40 Değil
web işletim sistemi Evet Hala çalışıyor.
böğürtlen Değil
NetFront Evet Çoklu görev yok.
Internet Explorer Evet durur.
Motorola İnternet Tarayıcısı Değil
Opera Mobil Evet Hala çalışıyor.
Opera Mini Değil

Gmail mobil geliştirme ekibi, mobil Safari ve Android cihazlarda zamanlayıcı davranışıyla ilgili bazı sorunlar keşfetti ve deneylerinin sonuçlarını ekibin http://www.mobilexweb.com/go/timers blogunda yayınladı. Mesajın özü şudur: Düşük frekanslı zamanlayıcılarla (1 saniye veya daha fazla) performans sorunu yoktur ve bunları istediğiniz kadar kullanabilirsiniz; yüksek frekanslı zamanlayıcılarla (örneğin, 100 ms), durum farklıdır - sonraki her zamanlayıcı arayüzü "yavaşlatır". Yalnızca bir yüksek frekanslı zamanlayıcı kullanmak en iyisidir.

Uyku modundan uyanma

Söylediğimiz gibi, çoğu cihazda, sayfa arka plana giderse zamanlayıcıların (ve aslında tüm JavaScript'lerin) çalışması askıya alınır. Bir iPod Touch'ım var ve Safari'de e-postamı her zaman sekiz olası sekmeden birinde açık tutarım. Başka bir web sitesine gitmek istediğimde yeni bir sekme açıyorum ama önceki e-posta sekmesi de açık kalıyor. Ve bu, tekrar bu sekmeye dönene kadar birkaç saat hatta günlerce arka planda kalabileceği anlamına geliyor. Ve bir geliştirici olarak bir soruyla ilgileniyorum: Sayfam arka plandayken, bu moddan ne zaman çıkması gerektiğini nasıl belirleyebilirim?

Google'da bir yazılım geliştiricisi olan (Gmail for Mobile ekibi üzerinde çalışan) Neil Thomas, bu çağrılar arasındaki süreyi hesaplamak için yüksek frekanslı bir zamanlayıcı ve global bir değişken kullanmak olan çok basit ve çok akıllı bir çözüm buldu. zamanlayıcı. Uyku modunda, zamanlayıcıya yapılan çağrılar arasındaki zaman aralıkları hakkında bilgi iletilmediğinden ve zamanlayıcıya bir sonraki çağrı sırasında, son istekler arasındaki zaman aralığı belirli bir eşikten büyük olduğundan, bu, uygulamanın veya sayfanın uyku modundan yeni çıktı.

Eşik için daha büyük bir zaman aralığı ayarlamayı unutmayın. Çok düşük bir zaman eşiği kullanırsanız, gerçekleştirilen görevin doğasına, tarayıcı motoruna ve cihazın donanım özelliklerine bağlı olarak, JavaScript kodunun fiili yürütülmesi belirtilen zaman eşiğinden daha uzun sürebilir.

İşte Neil Thomas'ın örnek bir kodu (benden bazı eklemelerle). Kodun açıklamaları http://www.mobilexweb.com/go/timers adresinde bulunabilir:

// Uygulamanın uyku moduna geçirildiğini varsaymadan önce "kaçırılması" gereken ms cinsinden süre. var EŞİK = 10000; var lastTick_; varDetectWakeFromSleep_ = function() ( var now = new Date().getTime(); var delta = now - this.lastTick_; if (delta > EŞİK) ( // Uygulama muhtemelen uykuya daldıktan sonra uyandı. notifyWakeFromSleep(delta) /1000); ) lastTick_ = şimdi; );

notifyWakeFromSleep yönteminde, kendinize karar verebilirsiniz. sonraki adımlar, alınan parametre değerlerine dayalı olarak, son aktif durumun sabitlenmesinden bu yana kaç saniye geçtiğini size söyleyecektir. Bu sürenin süresine bağlı olarak - 10 saniye veya 1 gün (86.400 saniye) - seçenekleriniz farklılık gösterebilir. Örneğin, bir günlük aradan sonra, bir uyarı gösterebilir veya bir animasyon yükleyebilirsiniz. Ajax yardımı yeni sonuçlar yükleniyor.

Bir uygulamanın veya sayfanın uyku modundan uyanmasının imkansız olacağı bir durum da vardır. Hakkında olduğu durumlar hakkında Veri deposu cihaz dolu, sayfamız arka planda ve bu durumda tarayıcının bu sayfayı silmesi ve kullanıcı görüntülemeye döndüğünde tarayıcının URL'den yeniden yüklemesi oldukça olasıdır.

Uyku modundan çıktığınızda, belgelerin ve komut dosyalarının (dahil HTML içeriği ve JavaScript değişkenleri) öncekiyle aynı durumdadır. 4.0 sürümünden önceki iOS, çoklu görevi desteklemez, ancak Safari, tarayıcının kendisi kapalı olsa bile pencerenin son durumunu hatırlar ve saklar.

Başlık değişikliği

Masaüstü web uygulamalarında, bir güncelleme gerçekleştiğinde kullanıcıyı bir sayfanın değiştiği konusunda uyarmak için başlığı dinamik olarak değiştirmek oldukça yaygındır. Ajax uygulaması. Ayrıca, başlık bir animasyon gibi dinamik olarak değişebilir (lütfen bunu yapmayın!).

Bazı nedenlerden dolayı başlığı dinamik olarak değiştirmek, mobil tarayıcılar için iyi bir fikir değildir:

  • birçok tarayıcı başlığı hiç görüntülemez;
  • kullanıcı aynı anda birkaç sekmeyle çalışıyorsa, arka planda başlığı dinamik olarak değiştirmenin bir anlamı olmayacaktır - sayfa “dondurulur”;
  • başlıktaki animasyon mobil tarayıcı sadece can sıkıcı olabilir.

Düzenli ifadeler

Düzenli ifadeler - harika yol girilen verileri doğrulama veya diğer görevleri gerçekleştirme. JavaScript 1.5 standardına normal ifadeler dahil edildi, ancak bazı düşük ve orta seviye cihazlar algoritmalarını desteklemeyebilir. Ancak Tablo 8.12'den de görebileceğiniz gibi, bu teknoloji tarayıcılarda çok iyi destekleniyor.

Sekme. 8.12. Destek düzenli ifadeler
Tarayıcı/ Platform Normal ifadelerin kullanılabilirliği
safari Evet
android tarayıcı Evet
Symbian/S60 Evet
Nokia Serisi 40 Evet
web işletim sistemi Evet
böğürtlen Evet
NetFront Evet
Internet Explorer Evet
Motorola İnternet Tarayıcısı Evet
Opera Mobil Evet
Opera Mini Evet

Birçok web kaynağı artık sayfalarında etkileşimli içeriği desteklemektedir. Basitçe söylemek gerekirse, site kullanıcı ile etkileşime girer. Ve için doğru işlem Tarayıcı Javascript desteğine sahip olmalıdır. Bugünün makalesinde size Javascript'i tarayıcıda nasıl etkinleştireceğinizi veya devre dışı bırakacağınızı anlatacağım.

Tarayıcıda Javascript nasıl etkinleştirilir

Bunun için editörde küçük ama önemli değişiklikler yapmanız gerekecektir. Grup ilkesi(RGP). Ne yazık ki, daha önce Windows sürümleri, Home sürümünde RSE olmamasının yanı sıra, bununla bağlantılı olarak etkinleştirme yalnızca son sürümde yapılabilir. Windows yapıları 10.

Microsoft Kenarı


Yandex tarayıcısı

Yandex.Browser'da Javascript desteğini etkinleştirmek zor değil.

safari


Internet Explorer

Mozilla Firefox

Javascript Mozilla bu şekilde etkinleştirilir:

  • İlk önce açmamız gerekiyor Firefox seçeneklerinin listesi, bunun için adres çubuğu about:config;
  • Riski kabul ediyoruz;
  • Açılan listede javascript.enabled parametresini buluyoruz;
  • İmleç ve farenin sol tuşuyla gezinin, böylece değeri fasle'den true'ya değiştirin.

Google Chrome

Buradaki her şey Yandex.Browser'dakiyle tamamen aynı.

Opera


Bu kadar. Umarım bilgiler sizin için yararlı olmuştur. Arkadaşlarınızla paylaşın. Teşekkürler!

P.S.: Yukarıda açıklanan eylemler bu yazıyı yazarken geçerliydi ve hala geçerli. Belki gelecekte, web tarayıcıları güncellenirken bir şekilde değiştirilebilirler. Bu olursa, lütfen yorumlarda abonelikten çıkın. Teşekkürler!