HTML'deki elemanları gizlemek nasıl? Javascript'te Gizli Metin Gizli JavaScript kodu sayfasında görüntüleyin.

Açıklama: Sayfanın içeriğini bir kerede geri çekmek istemediğiniz durumlar vardır. Örneğin, bölümde " SSS."Sadece soruların adlarını geri çekmek için. Ve eğer bir kişi belirli bir soruya cevapla ilgileniyorsa, cevabı açabilir ve izlerken, sonra kapatın. Bu, sayfanın rahatlığını ve kompaktlığını oluşturur. Ve Bunun için basit hazırladım javaScript'te komut dosyasıbelirli bir metni (genel olarak, belirli elementler) açmanızı veya gizlemenizi sağlar, yani javascript'te Gizli Metin.

Sonuç: Sorunun adına tıklayın. Tekrar tıklarsanız, cevap tekrar yapılır.

Soru 1.

Cevap numarası 1.

Soru 2.

Cevap numarası 2.

Javascript kodu (Etiketler arasında ekle) ve):

HTML kodu (Etiketler arasında ekle) ve):

Soru 1.



Soru 2.


Dürüst olmak gerekirse, herhangi bir geliştirici için gerekli değildir, çoğunlukla herhangi bir JavaScript kodu tarayıcıya kolayca bakın ve bu nedenle kodunuzu gizlemek için özel bir neden yoktur. Bu, konuşması, görünür, ne saklanamaz. Bununla birlikte, bu özelliğin çalınamayacağını göz önünde bulundurarak, kimseye kodlarını göstermek için çok utangaç olan adamlar var. Bir çevrimiçi hizmet yarattınız, özellikle de belirli işlemleri yapan güçlü bir karmaşık kütüphane oluşturdunuz, hizmetinizin analogları yok, kütüphaneniz yok ve doğal olarak komut dosyanızın her birini (geliştiriciyi) görmesini istemeyeceksiniz. Örnek benzer, daha iyi. Tabii ki, daha iyi bir şey yapmanın yanlış bir şey yoktur, evrimdir, ancak iş açısından, rakipler sadece elinizdedir.

Bunun için neye ihtiyaç var?

Yalnızca algoritmayı anlamanız ve geliştirmeye çalışmanız gerekir ve deneyiminizi gizli komut dosyaları yaptığım gibi tekrar alıyorum. İhtiyacımız olan ilk şey, görevi gerçek (yerel) sunucuda test etmektir, bunu denwer ile yapacağım. yerel sunucu.

fakat)Test için, sunucuya bir dizin oluşturun.
devam ederim sanal disk, Bu sürücüyüm r, oraya git Ana klasöre git

Script dizini oluşturun ve içinde bir www klasörü oluşturun, sonuç olarak, başarılı olursunuz: Ana Sayfa / Komut Dosyası / WWW / - Bundan sonra, sunucuyu güncellediğinizden emin olun (Denwer'ı yeniden başlatın)

b) Bir index.php dosyası oluşturun - örneğin, bu bizim ana Sayfa Site ve burada gizli komut dosyalarını kaldırmamız gerekiyor. Ayrıca bu dizinde "JS" klasörünü de oluşturun.

Görevimiz için, AJAX istekleri gerekli olacaktır, bunun için rasyonel fonksiyonlarınızı kullanabilirsiniz, ancak projeniz özel efektlerin, olayların kullanımını gerektirecek, kütüphaneyi bağlayacak ve önceden jquery bağlamayı gerektirecek şekilde büyüyecekse "JS» klasörünün kökünde jquery.js ekle.

Sonra aynı klasörde oluşturun yeni dosyaGizlememiz gereken komut dosyaları içinde saklanacaktır. "Güvenlik" olarak adlandıracağım:

içinde)Biz index.php için önizleme kodunu işe alıyoruz.


Gördüğünüz gibi bir blok var

PHP, sunucuda bloke edilecek komut dosyalarınızı okumanın rolünü üstlenir ve bunlara uygulanamaz.

Ama önce, saklamak istediğimiz komut dosyalarımızı oluşturalım.


d) Güvenlik klasöründe, sırasıyla bu içerikle Script1.js ve Script2.js oluşturun:


Örneğin, yeterli! Şimdi, bunlarla temas kurmak mümkün değil, sunucuya sormanız gerekebilir, bu dosyayla ilgilidir. HTACKESS.

HTACCESS, bu sunucunun kullanıcısı, geliştirici tarafından belirlenen bir yapılandırma dosyasıdır.

Htaccess bu tür içeriklere sahiptir:

Bundan sonra, istek üzerine:

Bunu göreceksiniz:

Böylece, güvenlik klasörünüz meraklı gözlerden gizlenir, erişilemez.

Komut dosyalarını bağlamaya çalışırsanız:

Sonra herhangi bir durumda, dosyalarınız, küresel olarak sunucu tarafından gizlendikleri için yürütülmeyecektir.

e)Programın PHP Bloğu'na Dönüştürün.

Alt çizgi, PHP'nin, gizli olup olmadıklarına bakılmaksızın, bu, kayıt olursanız, Sunucudaki tüm dosyalara erişimi vardır.


Sonra B. bu durum Gizli betiğimizin içeriğini göreceğiz.

Bununla birlikte, başka bir sunucudan, komut dosyamızın içeriği görülemez ve bir hata mesajı 500 döndürülür. Bu bizim elimizdir, böylece diğer siteler gizli dosyalarımızı okuyamaz.

e)Sonuç böylece nasıl görünecek?

Ve şimdi her şeyin nasıl çalıştığını iddia ediyoruz. JQuery, "index.php nedir? JS \u003d sonuç" sunucusundaki bir yazı sorgusu (bu, index.php'deki deliklerden kaçınmaya yardımcı olur), sunucumuzdan gelen istek (Strpos () işlevi ve adresi Sunucu "http: / / script" - C bu örneğin hesabı için), daha sonra komut dosyası değişkeni kontrol eder, yani gizli betiğimizin adresini kontrol eder ve bir metin sonucu verir. JQuery Döşemesi () yöntemi bu metin içeriği biçiminde bir yanıt alır ve bu metin bir JavaScript çalışmasına dönüştürülebilir, bu standart çapraz tramvay işlevi ();

Sonuçta

Sonucumuzu alıyoruz, tarayıcı konsolu üzerinden scriptlerimiz statik veya dinamik olarak görülemez, ancak işlerini görmek kolaydır. Bu komut dosyaları ve işlevleri kolayca yürütülür. Bununla birlikte, bu tekniği uygulamak için iyi düşünmek gerekir, bu durumda performans konusu, hız ortaya çıkmıştır. Arasında değerlendirme (kod) işlevi javascript geliştiricileri Kötü olarak kabul edilir ve yeni fonksiyonun analoğunu kullanmanız önerilir ('iade' + kodu), ikincisi içindeki fonksiyonların değişkeninizde kaydedilmesi durumunda, yani , Kod \u003d "fonksiyon testi () (alarm (1);); Test (); ", kodun yerine getirilmeyeceği, ki bu, Değerlendirici () tüm yaşam vakalarına yaklaşır, gerçeğin kendi nüanslarına sahip olan, hala okuması gereken kendi nüansları vardır.

Bir menünün gerçekçi olmayan güzel bir görünümünü uygulayan veya her ikinci sitede görmek istemeyeceğiniz diğer eylemleri gerçekleştiren komut dosyası sayfanızdaki yabancılardan gizlemek için sizi saklamak ister misiniz?
Eğer öyleyse, bu makalede açıklanan yöntem, kodun işlemleriyle birlikte sizin için yararlı olacaktır. Aynı zamanda, yöntemin% 100 olmadığı bir kerede rezervasyon yapacağım, ancak profesyonel olmayan profesyonellerin bir kısmından koruyacak.

Teori

NOJS.PHP sayfamız olduğunu varsayalım ve onun üzerinde gizli olması gereken Secret.js komut dosyası. Tarayıcı ve kullanıcı, sunucudan bir komut dosyasını aşağıdaki şekillerde alabilir:
  1. Komut dosyasını doğrudan sayfada yayınlandı veya DOM ile yükleniyor;
  2. Pencerede komut dosyasını görüntüleyin Sayfa Kaynak Kodu;
  3. Sabit sürücüdeki tüm dosyalarla bir sayfayı kaydetme;
  4. Adres çubuğunda doğrudan bir URL girme.
İlk durumda, tarayıcı mutlaka HTTP başlığını http_referer'ı iletir.
İkinci ve üçüncü durumda, tüm tarayıcılar tarafından iletilmez (Chrome, Firefox önbellekten daha önce indirilmiş bir komut dosyası verecektir; Opera, yani komut dosyasını tekrar yüklenir, ancak referans göndermeden).
Dördüncü durumda, referans bu dört tarayıcılardan herhangi birine aktarılmaz.
Eğer sorgudaki referans başlığını kontrol etmekle birlikte JavaScript verirseniz, o zaman derhal Opera ve IE'den korunacağız, ancak Crome ve Firefox için kayıt için bir şey bulmak zorunda kalacaklar. İlk olarak bir komut dosyasını indireceğiz, bu da başka bir komut dosyasını yükleyecek, her iki indirme HTTP referansı için kontrol edilecektir. Bilimsel yöntem, Doküman'da dinamik olarak bir komut dosyası oluşturursanız, ve sonra sayfadan silin, ardından script her zamanki gibi çalışır, ancak kaydedilmeyecektir.

Uygulama

nojs.php.
Bu sayfa, script1.php dosyasını indirmek için hedefi taşır.
JS'yi bulun.
10 saniye sonra, gizli komut dosyasının çalışmalarını bir allert biçiminde görmelisiniz, olayların da düşmediğinden emin olmak için Uyarı Sonrası Bağlantıyı tıklatın. Bu bağlantıda gizli betiği görebilirsiniz.
script1.php.
Görevi: Bir referans başlığı varsa, Script2.php'i dinamik olarak indirin. Gizli komut dosyasının yaklaşık saatine bağlı olarak, zamanlar azaltılabilir.
script2.php.
Görevi: Bir referans başlığı varsa, son komut dosyasını ver

SONUÇLAR

Sonuç olarak, sayfanın orijinal sayfasında ne göremeyeceğimiz, ne de gizli komut dosyasını test edilen dört tarayıcıların aracılığıyla indiremeyiz. Genel olarak, onu iki şekilde görebilirsiniz:
  • Doğrudan Script2.php'e giden bağlantıya gidin ve sitemizin sayfasında bulunur;
  • İçindeki referans başlığını gösteren bir HTTP isteğinin oluşumu.
Gizenin etkinliğini bu yöntemlerle arttırın:
  1. Mod-yeniden yazmayı kullanarak, Script1.js ve script2.js sunucusunu script1.js ve script2.js dosyasını script1.js ve script2.js dosyasını script1.php ve script2.php'e, sırasıyla, php'den beri tüm olağan JS dosyaları vardır. keskin bir şekilde acele eder;
  2. Mümkün olduğunca karmaşık bir komut dosyası yapın, böylece onu sökmeye çalışan kişi, aldatıldığı şeyin farkındalığından önce oldukça dökülür;
  3. İşleme kodu.

Merhaba, okuyucu.
Bu küçük makalede, çevrimiçi mağaza için kategorileri nasıl düzgün bir şekilde optimize edeceğinizi söylemek istiyoruz.
Metni optimize etmeye başladığımızda, ilk önce sayfayı maksimum alaka düzeyine ayarlarsınız. Nasıl yapılır .
Ancak bu durumda, aşağıdaki sorun oluşur - çok fazla metni bitirmeniz gerekir ve bu site tasarımına uymuyor.
Yani metnin bir bölümünü kullanıcılardan gizlemeniz gerekir.Ancak aniden ziyaretçi okumak istiyorsa, kolayca açabilir.

İnternet hipermarketi "soketinde" ilginç bir çözüm uygulanır. Örneğin, kategoriler:

Bu bağlantıya tıkladığımızda, açılır. tam tanım Sayfayı yeniden başlatmadan. Aynı kararı uygulamak istiyorsanız, uygulamada nasıl uygulandığı aşağıda açıklanmaktadır.
Bu an JavaScript programlama dili nedeniyle çözülebilir.
Javascript başlangıçta web sayfalarını "canlı" yapmak için oluşturuldu.
Web sayfasını ayarlamak için javascript komut dosyaları, bir tanımlayıcı girmeniz gerekir. Kod başlık gövdesinde olduğu gibi yerleştirilebilir (Etiketler arasında) ) ve sayfanın gövdesinde (Etiketler arasında ).
Komut dosyasını çalıştırmak için, sitenin herhangi bir yerinde kullanılacak bir işlev oluşturmanız gerekir. SH () işlevi işlevini kullanacağız.

Komut Dosyası işlemini görüntülemek için, bu formda belirtilen yere koymanız gerekir.

Devamını oku ...



İşlev sh () burada denir.
Varsayılan gizli metin için kod değişikliğinde açıktı görüntü yok üzerinde ekran bloğu.

İşte, fonksiyonu metne uygulandıktan sonra olanlara bir örnek:

Bu örnekte, siteyi tanıtmak için yazıldığından, sayfaya 3000 SEO metin karakteri gizlendi. Bağlantıya tıkladığınızda, "daha fazla ..." bağlantısı, Style.DisPlay'in işlevinde belirtilen stilleri sayesinde kaybolur.
Böylece bu işlevselliği uygulayabilirsiniz. Herhangi bir sorunuz varsa, yorumlarda sorun.

JavaScript kullanarak belgenin HTML öğesini göstermek / gizlemek için en basit çözüm. Ayrıntılar İşlemin özün açıklaması ve özellikleri.

Konvansiyonel araçlar kurutmak için (ENG. saklamak) veya gösteri (eng. göstermek.) Belgenin HTML öğesi mümkün değildir. Bunu yapmak için, CSS özelliğini kullanın. görüntüle. veya görünürlük.. Aralarındaki fark görünürlük.HTML öğesini görünmez hale getirse de, işgal ettiği yer, arkasında kalıyor. Çok daha sık kullanıldığı açıktır. görüntüle..

görüntüle. (İngilizceden. görüntüle) - Öğenin belgede nasıl görüntüleneceğini belirleyen çok amaçlı bir özellik.

Muhtemel CSS özellikleri değerlerinin listesi görüntüle., çeşitli tarayıcılar tarafından anlaşılan, büyük değil, ama bu oldukça yeterli.

  • blok - Eleman blok olarak gösterilir. Bu değerin, açıklık etiketi gibi gömülü elemanlar için kullanımı, yani bloklar gibi davranmasına neden olur. Kürek, içeriğin başında ve sonunda gerçekleşir.
  • Çizgide - Öğe yerleşik olarak görüntülenir. Bir DIV etiketi gibi blok elemanları için bu değerin kullanımı, yerleşik gibi davranmasına neden olur. İçeriği, önceki öğenin sona erdiği yerle başlayacaktır.
  • liste-item. - Eleman blok olarak görüntülenir ve liste işaretleyici eklenir.
  • yok - Belgedeki öğeyi gizler. Onlar tarafından işgal edilen yer ayrılmaz ve web sayfası bir element gibi oluşturulmuştur ve no.

Belirli bir HTML öğesinin CSS özelliğini değiştirmek için, komut dosyası programlama dilini kullanmanız gerektiği açıktır. Bizim durumumuzda, bu javascript. Ama her şey sırayla.

Her şeyden önce, belgenin HTML öğesi ile nasıl iletişim kuracağınıza karar vermeniz gerekir. Bunu yapmak için, ID özniteliğinin kimliğinin HTML-elemanına bir başvuru döndüren Belge nesnesinin GetEleMetbyID nesnesinin yöntemini kullanabilirsiniz. Örneğin:

belge.getelemetbyid ("Test")

Şimdi ilgili HTML öğesinin stilinin özelliklerine erişmemiz gerekiyor. Bu stil özelliğini kullanır. Örneğin:

belge.getelemetbyid ("Test"). Style.Display

Sadece CSS özellik değerlerini kaydıracak bir kontrol unsuru oluşturmak için kalır. görüntüle., herhangi bir durumda, örneğin ONClick (fareye tıklayın). Görevi çözmenin gerçeğine dikkat etmeye değer, mevcut CSS özellik değerini kontrol etmeniz gerekecek görüntüle. Ve onu "zıt" olarak değiştirin. Bizim durumumuzda, saklamak için değeri kullanacağız yokve görüntülemek için "Boş". İkinci durumda, CSS özelliğini kaldırıyoruz görüntüle. Uygun elemanda, hem bloklar hem de gömülü HTML elemanları ile doğru çalışmaya izin verecek.

Netlik için, aşağıdaki örneği vereceğim:

Değişiklik.

DIV etiketinin ekranda stil niteliğine sahip olduğunu lütfen unutmayın. Böylece? CSS özelliklerinin değerini belirtiriz görüntüle. Varsayılan olarak, eşit yok. HTML öğesi başlangıçta gizlenecek.