Ev - Yönlendiriciyi kurma
Bir çerçeve ekleme. Çerçeve Oluşturma

Çerçevelerin uygulama alanları

HTML belgelerinin geliştiricileri, bilgileri sayfalarda görüntülemek için oldukça geniş bir form seçeneğine sahiptir. Metin ve grafik bilgileri, listeler, tablolar kullanılarak veya yalnızca hizalama parametreleri kullanılarak, yatay çizgiler ayarlanarak ve paragraflara bölünerek sıralanabilir ve düzenlenebilir. Bazen bu özellikler yeterli olmaz ve tarayıcı penceresini ayrı alanlara veya çerçevelere bölmeniz gerekir. HTML dilinin Rusça dilindeki bir dizi açıklamasında, çerçeve terimi yerine çerçeve terimi kullanılır. Her iki terimin kullanım sıklığı yaklaşık olarak aynıdır.

WWW hakkındaki bilgileri görüntülemek için bir çerçeve yapısının seçimi aşağıdaki durumlarda haklıdır:

  • gerekirse, başka bir alt alanda çalışırken belgelerin tarayıcı görüntüleme penceresinin alt alanlarından birine yüklenmesini yönetin;
  • ekranın diğer alt alanlarının içeriğine bakılmaksızın, her zaman ekranda olması gereken bilgileri görüntüleme penceresinde belirli bir yere yerleştirmek;
  • pencerenin her biri bağımsız olarak görüntülenebilen birkaç bitişik alt alanında uygun şekilde düzenlenmiş bilgileri sunmak.

Verilen liste, çerçevelerin uygulanabileceği tüm olası durumları kapsamamaktadır ancak tavsiye niteliğindedir.

Öncelikle gerçek hayattaki HTML belgelerinin örneklerini kullanarak çerçevelerin tipik kullanımlarını ele alalım, ardından çerçeve içeren belgeler geliştirme kurallarına geçelim.

İncirde. Şekil 5.1, Rusya'nın finans ve borsalarından bilgi sağlama konusunda uzmanlaşmış Finmarket ajansının HTML sayfalarından birini göstermektedir.

Pirinç. 5.1.Çerçeve yapısına sahip tipik bir Web belgesi

Bu sayfa tarayıcı penceresini üç çerçeveye böler. Pencerenin alt kısmı tüm pencerenin yüksekliğinin %20'sini kaplar ve kalıcı bilgiler içerir; bu durumda bu, en önemli bölümlere istediğiniz zaman erişmenizi sağlayan grafiksel bir menüdür. Bu çerçevenin boyutu kullanıcı komutlarına göre değiştirilemez ve kaydırma çubukları yoktur. Pencerenin üst kısmı (yüksekliğin %80'i) yatay olarak iki çerçeveye bölünmüştür. Sol çerçeve, kullanıcı tarafından görüntülenebilen belgelerin içindekiler tablosunu içerir. Görüntüleme penceresinin çoğunu kaplayan sağ çerçeve, belgelerin kendilerinin görüntülenmesi için tasarlanmıştır. Başlangıçta yüklendiğinde bu iki çerçeve, tarayıcı penceresini %15 ila %85 oranında yatay olarak böler. Bu oran, görüntüleme sırasında kullanıcı tarafından değiştirilebilir; bu, yüklenen belgelerin içeriğini dikkate alarak en uygun çerçeve boyutlarını seçmenize olanak tanır. Bu çerçevelerin her birinin, çerçevenin boyutundan, tarayıcı penceresinin tamamından veya kullanılan yazı tiplerinden bağımsız olarak çerçevenin tüm içeriğini görüntülemenize olanak tanıyan kendi kaydırma çubuğu vardır. Sol çerçevedeki herhangi bir bağlantıyı seçtiğinizde, ilgili belge sağ çerçeveye yüklenecektir. Bu yapı, ekranda hem belgelerin içindekiler tablosunu hem de seçilen belgenin içeriğini aynı anda görmenizi sağlar.

Burada, açıklama yapılmadan, bu yapıya sahip bir belge oluşturmak için kullanılan HTML kodunun bir parçası bulunmaktadır:

Bu örnek, çerçeve yapılarının en tipik kullanımını göstermektedir; burada bir çerçeve belgeler için içindekiler tablosu görevi görürken diğer çerçeve içerikleri yüklemek için kullanılır. Böyle bir sorunu çerçeve kullanmadan çözmek genellikle şu şekilde yapılır. Sayfalardan birinde, diğer belgelere veya bunların bireysel parçalarına bağlantılardan oluşan bir içindekiler tablosu bulunmaktadır. Böyle bir bağlantıya tıkladığınızda, içindekiler kaybolur ve gerekli belge yerine yüklenir, okuduktan sonra genellikle içindekiler tablosuna dönmeniz gerekir. Çerçeveleri kullanırken, içindekiler tablosu her zaman ekranın bir bölümünde yer aldığından bu geri dönüş gereksiz hale gelir.

İnternette bulabilirsin St. Petersburg'daki popüler adres ve telefon rehberi "All Petersburg"un elektronik baskısının web sitesi.

Rehberin elektronik versiyonu şu adreste mevcuttur: http://www.allpetersburg.ru ve kullanıcı isteklerine göre gerekli bilgileri bulmanızı sağlar. Bu belge sayfası da bir çerçeve yapısına sahiptir ve ilki 100 piksel genişliğinde, ikincisi ise görünüm alanının kalan genişliğinin tamamını kaplayan iki çerçeveden oluşur. Sol tarafta yer alan çerçeve, ekranda sürekli olarak yer alan grafik menü için kullanılıyor ve aynı zamanda Nevalink firma logosunu da içeriyor. İkinci çerçeve, bu durumda bir kullanıcı istek formu olan belgeyi içerir. Bu sayfanın yapısı aşağıdaki HTML koduyla tanımlanır:

Çerçeveler tablolara çok benzer; her ikisi de tarayıcı penceresini bazı bilgilerin bulunduğu dikdörtgen alanlara böler. Ancak çerçevelerin yardımıyla yalnızca belge sayfalarını biçimlendirme sorununu çözmekle kalmaz, aynı zamanda aralarındaki etkileşimi de düzenleyebilirsiniz. Çerçeveler ve tablolar arasındaki temel fark, her çerçevenin kendi ayrı HTML belgesine sahip olması gerektiği, ancak tüm tablo hücrelerinin içeriğinin her zaman aynı belgenin parçası olmasıdır. Ayrıca çerçevede görüntülenen sayfa diğerlerinden bağımsız olarak görüntülendiğinde kaydırılabilir. Her çerçeve aslında ayrı bir "mini tarayıcıdır". Tüm yapısı her zaman ekranda gösterilen çerçevelerden farklı olarak tablolar pencereye tam olarak sığmayabilir ve yalnızca parçalar halinde görüntülenebilir. HTML tablolarında toplam hücre sayısı pratik olarak sınırsızsa ve birkaç yüze ulaşabiliyorsa, belgedeki çerçeve sayısı genellikle birkaç birimi aşmaz.

Tavsiye

Yalnızca bir belgeyi biçimlendirmeniz gerekiyorsa, kendinizi tabloların kullanımıyla sınırlamanız yeterlidir. Örneğin, pencere alt alanları arasındaki etkileşimi düzenlemek veya ekranda kalıcı olarak bulunan alt alanlar oluşturmak gibi daha karmaşık sorunları çözmeniz gerekiyorsa, çerçeveleri kullanmak uygundur.

Sonuçta, belge yapısının (tablo veya çerçeve) seçimi birçok faktöre bağlıdır ve önceden kesin olarak belirlenemez.

Ayrıca oradaöncekilere benzer şekilde oluşturulmuş gibi görünen sayfalar. Örneğin şunları alabilirsiniz:Öncelikle İnternet ile çalışmak üzere tasarlanmış, dünya çapında çok popüler bir yazılım ürünleri koleksiyonunun sayfası. Sunucu adresi http://www.tucows.com. Sunucu adının, koleksiyonun tam adının kısaltmasından türetilen bir kısaltma ile belirlendiğini unutmayın - The Ultimate Collection of Winsock Software. Tucows kısaltmasının iki inek (iki inek) ifadesiyle uyumlu olduğu ortaya çıktığından, sunucu sayfaları genellikle ineklerin resimlerini içerir ve yazılım ürünlerinin derecelendirmesi mooing sayısına (“Moo”) göre tahmin edilir ve grafiksel olarak gösterilir. karşılık gelen inek sayısının sırası olarak. Sunucu sayfalarının çoğu aynı şekilde oluşturulmuştur; pencerenin sol tarafında mevcut bölümlerin bir listesi, sağ tarafında ise seçilen bölüm için yazılım ürünlerinin bir listesi bulunur. İlk bakışta belgenin yapısı önceki örneklerdekiyle yaklaşık olarak aynı görünmelidir. Ancak bu belgede çerçeve kullanılmamaktadır! Bu sayfa, iki hücreli tek bir satırdan oluşan bir tablo kullanılarak oluşturulmuştur. Tablonun çerçevesi yoktur ve yalnızca sayfayı biçimlendirme amacına hizmet etmektedir. Tablo ızgarası yerine dikey çizgi içeren bir arka plan grafiği kullanılarak ekranın dikey olarak ikiye bölünmüş olduğu izlenimi yaratılıyor. Bunu, görselleri yüklemeden sayfayı görüntüleyerek doğrulayabilirsiniz. Burada bir tablonun kullanılması, çerçevelerin tüm tarayıcılarda görüntülenmesine izin vermediğinden, belgelerin daha fazla erişilebilirliği konusundaki düşüncelerden kaynaklanmaktadır.

Bu durumda bu yaklaşımın dezavantajı, her belgedeki tüm bölüm listesinin (sayfanın sol tarafı) tekrarlanması gereğidir, bu da dosya boyutunu biraz artırır.

Yukarıdaki örneklerin karşılaştırılması, tablo ve çerçevelerin kullanımının bazen birbirinin yerine kullanılabileceğini ve geliştiricilerin isteklerine göre belirlenebileceğini göstermektedir. Üzerinde belge görüntülenen bir sayfaya bakarken çoğu zaman belgenin nasıl oluşturulduğunu belirlemenin imkansız olduğunu unutmayın. Son kullanıcının belgenin iç yapısını bilmesine gerek yoktur, ancak kendi Web sayfalarını geliştirirken mevcut belgelerin kaynak kodlarına aşina olmak son derece faydalı olacaktır. İlk örnekte (bkz. Şekil 5.1), belgenin çerçeve yapısı hemen görülebilir - iki dikey kaydırma çubuğunun varlığı, ayrı çerçevelerin varlığını zaten belirler. Aşağıdaki iki örnek görünüş olarak çok benzer ve bunlardan birincisinin çerçeveler kullanılarak, ikincisinin ise tablolar kullanılarak oluşturulduğunu belirlemek imkansızdır. Farklılıklar yalnızca onlarla çalışırken ortaya çıkacaktır. Telefon rehberi örneğinde, bir belgeyi kaydırırken pencerenin sol kısmı yerinde kalacaktır, bu da ancak çerçeve yapısının olması durumunda mümkündür. Aşağıdaki örnekte (bir yazılım ürünleri koleksiyonu), kaydırma pencerenin tüm içeriğini kaydıracaktır.

Netscape tarayıcısıyla çalışırken, Görünüm menüsünün Sayfa Bilgileri öğesini (Netscape tarayıcısının 3.x sürümlerinde bu menü öğesine Belge Bilgileri adı verildi) kullanarak belge yapısını görüntüleyebilirsiniz (Şekil 5.2).

Pirinç. 5. 2 . Netscape Tarayıcı Görünüm Menüsü

Ayrıca, Görünüm menüsünün Sayfa Kaynağı öğesini (veya sağ tıklama bağlam menüsünün Çerçeve Kaynağını Görüntüle öğesini kullanarak, belgenin tamamının HTML kaynak kodunu her zaman görüntüleyebilirsiniz. seçilen çerçeve).

Tavsiye

Çerçeve kullanımını gereksiz yere kötüye kullanmamalı, sayıları üç veya dördü geçmemelidir.

Genellikle İnternet'teki gerçek sayfalarda aşağıdaki çerçeve kullanma durumlarını görebilirsiniz:Aynı anda görüntülemeye ve birbirleriyle karşılaştırmaya uygun belgeleri yüklemek için iki bitişik çerçeve kullanılır. Çerçevelere yüklenen iki belgenin her biri, bilgileri sunmak için tablo şeklinde bir form kullanır. Verilerin bu şekilde düzenlenmesinin bir sonucu olarak, iki tablonun her biri ayrı ayrı görüntülenebilir (veya yazdırılabilir) veya diğeriyle karşılaştırmalı olarak incelenebilir.

Bu bölümde verilen tüm örnekler popüler WWW sunucularının sayfalarından alınmıştır ve belki de HTML belgelerinde çerçeve kullanımına örnek teşkil edebilir.

Bu bölümün sonraki bölümleri, çerçeve içeren belgelerin yazılmasına ilişkin kuralları kapsar.

Çerçeveleri tanımlama kuralları

Şimdi çerçeve yapılarına sahip belgeler için kullanılan etiketlerin yazım kurallarını ele almaya geçelim.

Öncelikle orta karmaşıklıktaki çerçevelere sahip bir belge oluşturan HTML kodunun tamamına bakalım:

</p> <p>

Bu örnek, Şekilde gösterilen çerçeveli sayfayı oluşturur. 5.3. Gördüğünüz gibi bu HTML kodu dört çerçeveyi tanımlıyor. Üst çerçeve sayfanın tüm genişliğini kaplar ve başlığı içerir. Daha sonra, biri sol tarafta bulunan ve ekran genişliğinin yüzde 25'ini kaplayan, ikincisi ise kalan alanı kaplayan iki merkezi çerçeve var. Son dördüncü kare ekranın alt çeyreğini kaplar. Her çerçeveye, adı SRC parametresi tarafından belirlenen ayrı bir HTML belgesi yüklenir.

Örnekte görüldüğü gibi çerçevelerin yapısını anlatmak için etiketler kullanılmaktadır. , Ve . Bu etiketlerin amacına bakalım.</p> <span> <br><img src='https://i1.wp.com/webnav.ru/books/html4/frames/07.gif' width="100%" loading=lazy loading=lazy></span> <p><i><b>Pirinç. 5. <span>3 . </b>Örnekte gösterilen çerçevelerle HTML belgesini görüntüleyen Netscape tarayıcısının sonucu</span> </i></p> <p><b>Etiket <FRAMESET> </b></p> <p>Çerçeveler, normal bir belgenin BODY bölümü yerine, çerçeve içeren sayfalar için kullanılan FRAMESET adı verilen yapıda tanımlanır. Çerçevelerden oluşan web sayfalarının HTML kodlarında BODY bölümü bulunamaz. Buna karşılık, BODY bölümü olan sayfalar çerçeve kullanamaz.</p> <p><i><b>Tavsiye</b> </i></p> <p><i> <span>Çerçeveli sayfalarda BODY bölümü bulunmadığından sayfanın tamamı için arka plan resmi ve arka plan rengi ayarlamanın bir yolu yoktur. Bu ayarların BODY etiketinde yazılı olan BACKGROUND ve BGCOLOR parametreleri tarafından belirlendiğini hatırlayın. Ancak bu, her çerçeveye kendi arka plan ayarlarına sahip belgeleri yüklemenizi engellemez.</span> </i></p> <p>Etiketlerin kapsayıcısı <FRAMESET>Ve</FRAMESET> her çerçeve tanımlama bloğunu çerçeveler. Konteynerin içinde <FRAMESET>yalnızca etiket içerebilir <FRAME>ve iç içe geçmiş etiketler <FRAMESET>. </p> <p>Etiket <FRAMESET>iki parametresi vardır: ROWS (satırlar) ve COLS (sütunlar) ve aşağıdaki gibi yazılır:</p> <p><FRAMESET ROWS="список_ значений" COLS="список_ значений">. </p> <p><i><b>Not</b> </i></p> <p><i> <span>Bazı tarayıcılar ek etiket parametrelerine izin verir <FRAMESET></span> </i></p> <p>ROWS veya COLS veya her ikisi için de değerler tanımlayabilirsiniz. Bu parametrelerden en az biri için en az iki değer tanımlamak gerekir. Başka bir parametre atlanırsa değeri %100 olarak kabul edilir.</p> <p><i><b>Tavsiye</b> </i></p> <p><i> <span>Bir etikette ise <FRAMESET>ROWS ve COLS için yalnızca bir değer tanımlanmışsa bu etiket geçersiz sayılacak ve tarayıcı bunu dikkate almayacaktır. Başka bir deyişle belirlemek mümkün değildir. <FRAMESET>, tek bir çerçeveden oluşur.</span> </i></p> <p>Etiket ROWS ve COLS parametre değerlerinin listesi <FRAMESET>piksel, yüzde veya göreceli birimler halinde belirtilebilen, virgülle ayrılmış bir değerler listesidir. Satır veya sütun sayısı, ilgili listedeki değerlerin sayısına göre belirlenir. Örneğin, kayıt</p> <p><FRAMESET ROWS="100,240,140"> </p> <p>üç çerçeveden oluşan bir kümeyi tanımlar. Bu değerler mutlak piksel değerleridir. Başka bir deyişle, ilk kare (ilk satır) 100 piksel yüksekliğinde, ikincisi 240 piksel ve sonuncusu ise 140 piksel yüksekliğindedir.</p> <p>Çerçeve boyutu değerlerini piksel cinsinden ayarlamak pek kullanışlı değil. Bu, tarayıcıların farklı işletim sistemlerinde ve farklı ekran çözünürlüklerinde çalıştığı gerçeğini hesaba katmaz. Aynı zamanda bazı durumlarda, örneğin boyutları bilinen küçük bir görüntüyü görüntülemek için mutlak boyut değerleri tanımlamak da mümkündür. En iyi seçenek, değerleri yüzde veya göreceli birimler halinde ayarlamak olacaktır, örneğin:</p> <p><FRAMESET ROWS="25%,50%,25%">. </p> <p>Bu örnek, ekranın tüm genişliği boyunca sıralar halinde konumlandırılan üç çerçeve oluşturur. Üst sıra mevcut ekran yüksekliğinin yüzde 25'ini, orta sıra yüzde 50'sini ve alt sıra yüzde 25'ini kaplayacak. Belirtilen yüzdelerin toplamı %100'e eşit değilse, sonuç tam olarak %100 olacak şekilde değerler orantılı olarak ölçeklendirilir.</p> <p>Göreceli birimlerdeki değerler aşağıdaki gibidir:</p> <p><FRAMESET COLS="*,2*,3*">. </p> <p>Alanı orantılı olarak bölmek için yıldız işareti (*) kullanılır. Her yıldız bütünün bir parçasını temsil eder. Yıldız işaretlerinin yanındaki sayıların tüm değerlerini toplayarak (bir sayı atlanırsa bir olduğu varsayılır), kesirin paydasını elde ederiz. Bu örnekte, ilk sütun pencerenin toplam genişliğinin 1/6'sını, ikinci sütun 2/6'sını (veya 1/3) ve sonuncu sütun ise 3/6'sını (veya 1/3) kaplayacaktır. 2).</p> <p>Herhangi bir karakter içermeyen sayısal bir değerin, bir satır veya sütun için mutlak piksel sayısını belirttiğini unutmayın. Yüzde işaretine (%) sahip bir değer, görünüm alanının toplam genişliğinin (COLS için) veya yüksekliğinin (SATIRLAR için) oranını belirtir ve yıldız işaretli (*) değer, kalan alanın orantılı dağılımını belirtir.</p> <p>Değerleri ayarlamak için üç seçeneğin tamamını kullanan bir örnek:</p> <p><FRAMESET COLS="100,25%,*,2*">. </p> <p>Bu örnekte ilk sütun 100 piksel genişliğinde olacaktır. İkinci sütun tüm görüntü alanı genişliğinin yüzde 25'ini kaplayacak, üçüncü sütun kalan alanın 1/3'ünü ve son olarak son sütun 2/3'ünü kaplayacak. Mutlak değerlerin öncelikle soldan sağa doğru atanması tavsiye edilir. Bunları toplam alan boyutunun yüzdeleri takip eder. Son olarak kalan alanın orantılı bölünmesini belirleyen değerler kaydedilir.</p> <p><i><b>Tavsiye</b> </i></p> <p><i> <span>Mutlak COLS veya ROWS değerleri kullanıyorsanız, herhangi bir tarayıcı penceresine sığabilmeleri için bunları küçük tutun ve kalan alanı doldurmak için bunları en az bir yüzde veya göreli değerle doldurun.</span> </i></p> <p>Etiket kullanılıyorsa <FRAMESET>Hem COLS hem de ROWS değerlerinin belirtildiği bir çerçeve ızgarası oluşturulacaktır. Örneğin:</p> <p><FRAMESET ROWS="*,2*,*" COLS="2*,*"> </p> <p>Bu HTML kodu satırı, üç satır ve iki sütundan oluşan bir çerçeve ızgarası oluşturur. İlk ve son satırlar yüksekliğin 1/4'ünü, orta çizgi ise yarısını kaplar. İlk sütun genişliğin 2/3'ünü, ikincisi ise 1/3'ünü kaplar.</p> <p>Konteyner <FRAMESET> </FRAMESET> ilk örnekte gösterildiği gibi başka bir benzer kabın içine yerleştirilebilir. Etiketin kullanımını daha ayrıntılı olarak ele alalım <FRAME>. </p> <p><i><b>Not</b> </i></p> <p><i> <span>HTML dilindeki bazı kaynaklar, etiketin COLS ve ROWS parametrelerinin <FRAMESET>birbirini dışlar. Ancak hem Netscape hem de Microsoft Internet Explorer birlikte kullanılmasına olanak tanıyor.</span> </i></p> <p><b>Etiket <FRAME> </b></p> <p>Etiket <FRAME>tek bir çerçeveyi tanımlar. Bir çift etiketin içinde bulunmalıdır <FRAMESET>Ve</FRAMESET>. Örneğin:</p> <p><FRAMESET ROWS="*,2*"> </p> <p><FRAME> </p> <p><FRAME> </p> <p></FRAMESET> </p> <p>Lütfen etiketin <FRAME>bir konteyner değildir ve aksine <FRAMESET>bitiş etiketi yoktur. Tek bir çerçevenin tüm tanımı, bir satır HTML koduyla yapılır.</p> <p>Kaydedilecek çok fazla etiket var <FRAME>etiketi belirtirken kaç ayrı çerçeve tanımlanır? <FRAMESET>. Önceki örnekte etiket <FRAMESET>iki dize verildi, bu nedenle iki etiketin yazılması gerekiyordu <FRAME>. Ancak bu örnek aslında işe yaramaz çünkü çerçevelerin hiçbirinde içerik yoktur!</p> <p>Etiket <FRAME>altı parametresi vardır: SRC, NAME, MARGINWIDTH, MARGINHEIGHT, SCROLLING ve NORESIZE.</p> <p><i><b>Not</b> </i></p> <p><i> <span>Bazı tarayıcılar bir dizi ek etiket parametresi kullanmanıza izin verir <FRAME>. Bölümün sonunda Netscape ve Microsoft Internet Explorer tarayıcılarının yeteneklerine genel bir bakış verilmektedir.</span> </i></p> <p>İşte etiket girişi: <FRAME>tüm parametrelerle:</p> <p><FRAME SRC="url" NAME="window_name" SCROLLING=YES|NO|AUTO </p> <p>MARGINWIDTH="değer" MARGINHEIGHT="değer" NORESIZE></p> <p>Etikette pratikte <FRAME>Nadiren tüm parametreler aynı anda kullanılır.</p> <p>En önemli parametre SRC'dir (kaynağın kısaltması). Oldukça sık etikette <FRAME>tek bir SRC parametresi belirtilir. Örneğin:</p> <p><FRAME SRC="url">. </p> <p>SRC parametresinin değeri, başlangıçta bu çerçeveye yüklenecek belgenin URL'sini belirler. Genellikle bu adres, ana belgeyle aynı dizinde bulunan bir HTML dosyasının adıdır. Daha sonra çerçeve tanımlama çizgisi örneğin şöyle görünecektir:</p> <p><FRAME SRC="sample.htm">. </p> <p>Çerçeve tanımında belirtilen herhangi bir HTML dosyasının bir parça değil, tam bir HTML belgesi olması gerektiğini unutmayın. Bu, belgenin HTML, HEAD, BODY vb. etiketlere sahip olması gerektiği anlamına gelir.</p> <p>Elbette SRC değeri herhangi bir geçerli URL olabilir. Örneğin, çerçeve bu kitabın yayıncısının sunucusunda bulunan bir GIF resmini görüntülemek için kullanılıyorsa, şunu yazmalısınız:</p> <p><FRAME SRC="http://www.bhv.ru/example.gif">. </p> <p><i><b>Tavsiye</b> </i></p> <p><i> <span>Belgede çerçeve yapısını açıklayan herhangi bir içeriğe yer vermeyin.</span> </i></p> <p>Düz metin, başlıklar, grafikler ve diğer öğeler, çerçeve yapısını tanımlayan bir belgede doğrudan kullanılamaz. Çerçevelerin tüm içerikleri, adları etiketin SRC parametresi tarafından belirtilen ayrı HTML dosyalarında tanımlanmalıdır. <FRAME>. </p> <p>NAME parametresi, bu çerçeveye atıfta bulunmak için kullanılabilecek bir çerçeve adını belirtir. Genellikle bağlantı aynı sayfada bulunan başka bir çerçeveden ayarlanır. Örneğin:</p> <p><FRAME SRC="sample.htm" NAME="Frame_1">. </p> <p>Bu giriş, başvurulabilecek "Frame_1" adlı bir çerçeve oluşturur. Örneğin:</p> <p>İndirmek için buraya tıkla</p> <p>other.htm dosyasını Frame_1 adlı bir çerçeveye belgeleyin.</p> <p>Çerçeve adını ifade eden TARGET parametresine dikkat edin. Bir çerçeveye isim verilmediği takdirde isimsiz bir çerçeve oluşturulacak ve buna başka bir çerçeveden referans verilmesi mümkün olmayacaktır. Çerçeve adları alfasayısal bir karakterle başlamalıdır.</p> <p>MARGINWIDTH ve MARGINHEIGHT parametreleri çerçeve kenar boşluklarının genişliğini ayarlamanıza olanak tanır. Bu şu şekilde yazılmıştır:</p> <p>MARGINWIDTH = "değer",</p> <p>burada "değer" piksel cinsinden mutlak değerdir. Örneğin:</p> <p>Bu çerçevenin üst ve alt kenar boşlukları 5 piksel, sol ve sağ kenarlar ise 7 pikseldir. Burada çerçevelerden değil kenar boşluklarından bahsettiğimizi unutmayın. MARGINWIDTH ve MARGINHEIGHT parametreleri çerçeve içinde hiçbir bilginin yer almayacağı alanı tanımlar. Bu parametreler için kabul edilebilir minimum değer birdir.</p> <p>Çerçevenin içeriği ayrılan alana tamamen sığmazsa, çerçeveler otomatik olarak kaydırma çubukları oluşturacak ve görüntüleyecektir. Bazen bu, sayfanın tasarımını bozar, dolayısıyla kaydırma çubuklarının görüntüsünü kontrol edebilmek kullanışlı olabilir. SCROLLING parametresi bu amaçlar için kullanılır. Kayıt formatı:</p> <p><FRAME SCROLLING="YES|NO|AUTO">. </p> <p>SCROLLING parametresi üç değer alabilir: EVET, HAYIR veya OTOMATİK. AUTO değeri, SCROLLING parametresi yokmuş gibi aynı etkiye sahiptir. YES değeri, gerekli olup olmadığına bakılmaksızın kaydırma çubuklarının görünmesine neden olur ve HAYIR bunların görünmesini engeller. Örneğin:</p> <p><FRAME SCROLLING=YES>. </p> <p>Genellikle kullanıcı sayfayı görüntülerken çerçeveleri yeniden boyutlandırabilir. Fare imlecini çerçeve çerçevesinin üzerine yerleştirirseniz, imleç yeniden boyutlandırma olasılığını gösteren bir şekil alacak ve çerçeveyi istediğiniz konuma taşımanıza olanak tanıyacaktır. Bu bazen güzel tasarlanmış çerçevelerin yapısını bozar. Kullanıcının çerçevelerin boyutunu değiştirmesini önlemek için NORESIZE parametresini kullanın:</p> <p><FRAME NORESIZE>. </p> <p>Bu parametre herhangi bir değer gerektirmez. Doğal olarak, çerçevelerden biri için NORESIZE parametresi ayarlandığında, bitişik çerçevelerin herhangi birinin boyutu da değiştirilemez. Bazen çerçevelerin yerleşimine bağlı olarak çerçevelerden birinde NORESIZE parametresini kullanmak herhangi birinin ekranda yeniden boyutlandırılmasını engellemek için yeterli olacaktır.</p> <p><b>Etiket <NOFRAMES> </b></p> <p>Çerçevelerle çalışma yeteneği, HTML 3.0 veya HTML 3.2 standardında amaçlanmamıştır. Burada, yakın zamana kadar, fiilen kullanılan özelliklerin birçok WWW sayfasında aktif olarak kullanıldığı ancak standardın bir parçası olmadığı oldukça tipik bir durum vardı. Bu, tarayıcıların çerçeveleri yasal olarak görmezden gelebileceği anlamına geliyordu. HTML 4.0 standardının ortaya çıkışıyla durum değişti - artık çerçeve yapıları desteği standartta yer alıyor. Çoğu modern tarayıcının çerçeveleri HTML 4.O'nun ortaya çıkmasından önce bile tanıdığını unutmayın. Ancak çerçeveleri desteklemeyen tarayıcıları kullanan kullanıcılara bilgi vermek gerekir. Bu tür tarayıcılar için bir çift etiket arasına yazılan alternatif bilgilerin sağlanması mümkündür. <NOFRAMES>Ve. Şuna benziyor:

</p> <p>HTML belgesinin tamamı</p> <p>

Etiketler arasına yerleştirilen her şey Ve, çerçeve desteği özelliği olmayan tarayıcılar tarafından görüntülenecektir. Çerçeve duyarlı tarayıcılar bu etiketler arasındaki tüm bilgileri göz ardı edecektir.

Gerçek hayatta HTML sayfası geliştiricilerinin genellikle etiketin yeteneklerini kullanmadığını unutmayın. çerçeve yapıları olmayan sayfalar oluşturmak, ancak yalnızca HTML belgelerinin iki versiyonunu oluşturmak için. Bu seçenek için başlangıç ​​sayfası genellikle bir belgeyi çerçeve yapısıyla veya çerçeve yapısı olmadan yükleme seçeneğini sunar. Daha sonra kullanıcının seçimine bağlı olarak belgenin yalnızca bir versiyonu yüklenir.</p> <p><b><span>Çerçeve yapılarını tanımlamanın özellikleri</span> </b></p> <p>Çerçeve yapılarını tanımlarken kullanılan en önemli etiketlerden biri etiketidir. <FRAME>. Bir etiketin, hiçbiri gerekli olmayan veya diğerlerine bağlı olmayan çok sayıda parametresi vardır, ancak bunları yazarken dikkate alınması gereken birkaç nokta vardır.</p> <p>Bir belgenin daha sonra yüklenebileceği bir çerçeve oluşturmanız gerekiyorsa, örneğin başka bir çerçeveden komut alarak, etiketini kullanmanız gerektiği ortaya çıktı. <FRAME>SRC parametresini yazın. Eğer bu</p> <p>parametre atlanırsa, çerçeve oluşturulmayacak, ancak bunun için yer bırakılacaktır. Örneğin şöyle bir kayıt <FRAME NAME="B">oldukça mantıklıdır ve başlangıçta hiçbir belgenin yüklenmediği "B" adlı bir çerçeveyi tanımlayabilir. Ancak, SRC parametresinin bulunmamasından dolayı bu isimde bir çerçeve bulunmayacak, dolayısıyla içine herhangi bir belge yükleme girişimleri başarısız olacak ve pencerede bu çerçeve için ayrılan alan boş kalacaktır. Ayrıca, bazı tarayıcılar (örneğin, Windows Z.xx için Microsoft Internet Explorer sürüm 3), böyle bir çerçeveye belge yüklemeye çalışırken bir hata mesajı görüntüleyecek ve çıkacaktır.</p> <p>SRC parametresinin ayarlanması gerekliliği mantıksal olarak açıklanamaz, bu nedenle bu gerçeği dikkate almak en iyisidir. Daha sonra en baştan bu çerçeveye yüklenmesi gereken bir belge olmasa bile SRC parametresinde bir dosyanın adını belirtmelisiniz. Örneğin, böyle bir dosya, içeriği mümkün olan minimum doğru HTML belgesi olacak olan empty.htm (boş) olarak adlandırılabilir, yani:</p> <p><HTML> </p> <p><HEAD> </p> <p></HEAD> </p> <p><BODY> </p> <p></BODY> </p> <p></HTML> </p> <p>Bu belgeyi iki etikete indirgeyebilirsiniz: <HTMLX/HTML>Bu aynı zamanda geçerli bir HTML belgesi olacaktır. "Boş" bir belgenin boyutunu en üst düzeye çıkarma yolunu izleyerek, kendinizi, boyutu bir bayta eşit olan, boşluk karakterini (veya görüntülenemeyen herhangi bir karakteri) saklayan bir dosyayla sınırlayabilirsiniz. Bu dosya geçerli bir HTML belgesi olmayacak ancak çoğu tarayıcıda sorun yaratmayacaktır. Böyle bir dosyanın boyutunun sıfıra daha da düşürülmesi haklı değildir, çünkü Netscape tarayıcısı tarafından yüklendiğinde belgenin veri içermediğine dair bir uyarı mesajı (Şekil 5.4) görüntülenecektir.</p> <span> <img src='https://i0.wp.com/webnav.ru/books/html4/frames/08.gif' height="119" width="332" loading=lazy loading=lazy></span> <p><i><b>Pirinç. 5. <span>4 . </b> Sıfır uzunlukta bir dosya yüklenirken uyarı mesajı</span> </i></p> <p>Bu durumda tuşuna basarak bu mesaja cevap vermelisiniz. <Enter>veya fare düğmesi. Belge yeniden yüklendiğinde veya tarayıcı penceresi yeniden boyutlandırıldığında mesaj yeniden görünecektir.</p> <p>Var olmayan bir dosyanın adını da belirleyebilirsiniz, ancak bu durumda Netscape tarayıcısı daha fazla çalışmayı engellemeyecek ancak benzer rahatsızlıklara yol açacak bir uyarı mesajı görüntüleyecektir (Şekil 5.5).</p> <span> <img src='https://i2.wp.com/webnav.ru/books/html4/frames/09.gif' height="139" width="314" loading=lazy loading=lazy></span> <p><i><b>Pirinç. 5. <span>5 . </b> Var olmayan bir dosyayı indirmeye çalışırken uyarı mesajı</span> </i></p> <p><i><b>Tavsiye</b> </i></p> <p><i> <span>Boyutu bir bayt olan ve boşluk karakteri içeren empty.htm adında bir dosya oluşturun. Etiket yazarken bunu bir kural haline getirin <FRAME>Belirli bir dosyanın adını hemen belirtmek mümkün değilse her zaman SRC=empty.htm'yi belirtin.</span> </i></p> <p>Çerçeve örnekleri</p> <p>Bu bölümde çerçeve tanımlarının bazı tipik örnekleri verilmektedir.</p> <p>Bu bölümün başında verilen örneğe dönelim (Şekil 5.3). Bu örnekte iç içe geçmiş bir yapı kullanılmaktadır <FRAMESET>. Harici etiket <FRAMESET>görünümün toplam yüksekliğinin sırasıyla yüzde 25, 50 ve 25'i kadar üç sıra yükseklik oluşturur:</p> <p><FRAMESET ROWS="25%,50%,25%">. </p> <p>Bu tanım kapsamında ilk ve son satırlar basit çerçevelerdir:</p> <p><FRAME SRC="header.htm"> <FRAME SRC="footer.htm"> </p> <p>Bu çizgilerin her biri ekranın tüm genişliğini doldurur. Ekranın üst kısmındaki ilk satır yüksekliğin yüzde 25'ini, alttaki üçüncü satır da yüksekliğin yüzde 25'ini kaplıyor. Ancak aralarında iç içe geçmiş bir etiket var <FRAMESET>: </p> <p><FRAMESET COLS="25%,75%"> </p> <p><FRAME SRC="list.htm"> </p> <p><FRAME SRC="info.htm"> </p> <p></FRAMESET> </p> <p>Bu etiket, ekranın orta satırının bölündüğü iki sütunu tanımlar. Bu iki sütunu içeren satır, dış etikette tanımlandığı gibi ekran yüksekliğinin yüzde 50'sini kaplar <FRAMESET>. Sol sütun ekran genişliğinin yüzde 25'ini kullanırken sağ sütun genişliğin kalan yüzde 75'ini kaplıyor.</p> <p>Bu sütunların çerçeveleri iç içe geçmiş bir etiket çifti içinde tanımlanır <FRAMESET>Ve</FRAMESET>İlk ve son satır için çerçevelerin tanımı bu çiftin dışına, ancak dış satırın içine yazılır. <FRAMESET>uygun sırada.</p> <p>İç içe geçmiş bir blok olarak düşünürseniz kayıt yapısını anlamak kolaydır <FRAMESET>ayrı bir unsur olarak <FRAME>. Örneğimizde dış etiket <FRAMESET>üç satır tanımlar. Her birinin tamamlanması gerekiyor. Bu durumda önce ayrı bir elemanla doldurulurlar. <FRAME>, o zaman - iç içe geçmiş bir blok olarak <FRAMESET>iki sütun genişliğinde ve ardından başka bir öğe <FRAME>. </p> <p>Şimdi SRC etiketi parametresinin değerinin değiştirilip değiştirilemeyeceği sorusu ortaya çıkabilir. <FRAME>çerçeve yapısının açıklamasını içeren dosyanın adını ayarlayın. Evet, bu kabul edilebilir. Bu durumda etiket <FRAME>çerçeve yapısı olan ve ayrı bir çerçeve olarak kullanılan bir HTML belgesine işaret etmek için kullanılacaktır.</p> <p>Örneğe geri dönelim ve iç içe geçmiş olanı değiştirelim <FRAMESET>ayrı bir yere <FRAME>. Doğal olarak iç içe olduğundan bir yerine iki HTML dosyasına ihtiyacınız olacak <FRAMESET>artık ayrı bir belgede yer alacak. İşte ilk (harici) dosyanın içeriği:</p> <p><HTML> </p> <p><HEAD> </p> <p></HEAD> </p> <p><FRAMESET ROWS="25%,50%,25%"> </p> <p><FRAME SRC="header.htm"> </p> <p><FRAME SRC="frameset.htm"> </p> <p><FRAME SRC="footer.htm"> </p> <p></FRAMESET> </p> <p><NOFRAMES> </p> <p>Tarayıcınız çerçeveleri görüntüleyemiyor</p> <p>

Frameset.htm adlı ikinci dosya aşağıdaki kodu içerir:

Bu durumda üst ve alt çizgiler aynı şekilde davranır. Ama ikinci satır artık diğerleri gibi basit bir çerçeve. Ancak SRC parametresinin işaret ettiği çerçeve kümesi.htm dosyası kendi çerçeve yapısını tanımlar. Sonuç olarak, ekran orijinal örnektekiyle tamamen aynı olacaktır.

Not

İç içe geçmiş yapılar oluşturmak prensipte mümkündür , etiketleri kullanma çerçeve yapısını açıklayan aynı dosyaya atıfta bulunur, ancak bu yapılmamalıdır. Bu durum sonsuz özyinelemeye yol açacak ve daha fazla çalışmaya izin vermeyecektir. Bazı tarayıcılar bu durumu kontrol ederek arıza olasılığının önüne geçer. SRC'ye yazılan adres, çerçeve hiyerarşisindeki önceki adreslerden biriyle eşleşiyorsa, sanki SRC parametresi hiç yokmuş gibi göz ardı edilir.

Tavsiye

İç İçe Yapıları Kullanma çeşitli kombinasyonlarda akla gelebilecek hemen hemen her çerçeve ızgarasını oluşturmak mümkündür. Ancak kullanıcı dostu bir arayüz oluşturmayı ve yalnızca çerçevelerle çalışma yeteneğinizi göstermeyi unutmayın.

Burada normal dikdörtgen bir çerçeve ızgarası oluşturmanın bir örneği verilmiştir:

Bu örnek, iki satır ve üç sütundan oluşan bir çerçeve ızgarası oluşturur (Şekil 5.6). Altı çerçeveden oluşan bir küme tanımlandığından, altı ayrı çerçevenin de tanımlanması gerekir. . Çerçeve tanımlarının satır satır verildiğini lütfen unutmayın. Yani ilk etiket ilk satırdaki ilk sütunun içeriğini tanımlar, ikincisi ikinci sütunun içeriğini tanımlar ve üçüncüsü ilk satırın son sütununun verilerini tanımlamayı bitirir. Son üç kare daha sonra ikinci satırın sütunlarını doldurur.


Pirinç. 5. 6 . 2'ye 3 çerçeve ızgarası

Ayrıca COLS parametresindeki yüzde değerlerinin toplamının 100 değil, yalnızca yüzde 90 olduğunu unutmayın. Bunda yanlış bir şey yok çünkü tarayıcı bu çelişkiyi ortadan kaldırmak için sütunların genişliğini otomatik olarak orantılı olarak değiştirecektir.

Çerçeveleri kullanırken gezinme özellikleri

Çerçeve yapısına sahip belgelerle çalışmanın bilmeniz gereken bazı özellikleri vardır. JB'nin bu özellikleri esas olarak belgeleri yüklerken gezinmede kendini gösterir. Gezinmedeki önemli farklılıklar yalnızca farklı tarayıcıların değil aynı zamanda aynı tarayıcının farklı sürümlerinin de karakteristik özelliğidir.

Netscape tarayıcısının 3.x ve 4.x sürümleri, Geri düğmesini tıklattığınızda, belgeyi en son üzerinde işlem yapılan çerçeveye geri döndürür. Çerçevelerin herhangi birinde bağlam menüsünü çağırırken Geri öğesi seçilirse aynı eylemler gerçekleştirilecektir. Bağlam menüsünün farenin sağ tuşuna basılarak çağrıldığını hatırlatalım. Böylece içerik menüsünün hangi karede çağrıldığına bakılmaksızın Geri düğmesine basılması, başka bir karede gerçekleştirilmiş olsa bile son işlemi iptal edecektir.

Netscape 2.x tarayıcısı tamamen farklı çalıştı. Bağlam menüsü, son işlemi geri almak yerine belgeyi geçerli çerçeveye döndüren Çerçeveye Geri Dön komutunu içerir.

Netscape'in herhangi bir sürümünde, seçili çerçevede bulunan bir belgeye yer işareti koyabilirsiniz. Bunu yapmak için yukarıda belirtilen içerik menüsünden Yer İşareti Ekle modunu seçmeniz gerekir. Tarayıcının ana menüsünden Yer İşareti Ekle modunu seçerseniz, belgede çerçeve yapısının açıklamasını içeren bir yer imi oluşturulacaktır. , bu da belirli bir kareye doğru şekilde işaret etmeyecektir. Ayrı bir çerçeveye sahip bir belge üzerinde yer imi oluşturabilmeniz, bu yer işaretini kullanmaya devam ettiğinizde aynı çerçeve yapısının ortaya çıkacağı anlamına gelmez. Yer iminin işaret ettiği belge, çerçeve yapısının dışında tam bir pencereye yüklenecektir.

Çerçeveler arasındaki etkileşim

WWW'deki bilgileri görüntülemenin en basit biçimi, tarayıcı penceresindeki geçerli belgenin başka bir belgeyle değiştirildiği sayfaları okumaktan ve aşağıdaki bağlantılardan oluşur. Çerçevelerle çalışırken daha kullanıcı dostu bir belge yükleme şeması düzenleyebilirsiniz.

Çerçeveler arasındaki etkileşim, başka bir çerçevedeki komutları kullanarak belgeleri seçilen çerçeveye yükleme yeteneğidir. Bu amaçla TARGET tag parametresi kullanılmaktadır.<А>. Bu parametre, bu bağlantının işaret ettiği belgenin yükleneceği çerçevenin veya tarayıcı penceresinin adını belirtir. Varsayılan olarak HEDEF parametresi yoksa belge geçerli çerçeveye (veya pencereye) yüklenir. Bu varsayılan, bir etiket belirtilerek geçersiz kılınabilir HEDEF parametresinin istenen değeri ile. Yüklenecek varsayılan çerçevenin adının belirtilmesi, çok sayıda bağlantının belgeleri belirli bir çerçeveye yönlendirmesi gerektiğinde çok kullanışlıdır. Bu bölümün başında, tek bir çerçevedeki içindekiler tablosunun, karşılık gelen belgelerin bitişik bir çerçeveye yüklendiği bağlantıların olduğu tipik bir durum gösterilmiştir (Şekil 5.1). Bu örnek için bölümde LIST.htm adlı dosyaya aşağıdaki satırı yazmanız önerilir: . Aksi halde her bağlantı için bir HEDEF parametresi belirtmeniz gerekir.

Çerçeve adları Latin harfi veya rakamıyla başlamalıdır. Ad, mevcut bir pencere veya çerçevenin adı olabileceği gibi, altında yeni bir pencerenin açılacağı yeni bir ad da belirtilebilir. Belirtildiğinde özel eylemler gerçekleştiren dört ayrılmış ad vardır. Bu adlar alt çizgi (_) ile başlar: "_blank", "_self", "_parent" ve "_top". Alt çizgiyle başlayan diğer adlar geçerli değildir.

HEDEF = "_blank" - belgenin yeni bir pencereye yüklenmesini sağlar. Bu pencerenin bir adı olmayacak ve bu nedenle içine başka bir belge yüklemek mümkün olmayacaktır.

HEDEF = "_kendi" - belge geçerli çerçeveye (veya pencereye) yüklenecektir. Bu giriş, etiket tarafından belirtilen varsayılanı atlamak için kullanılmalıdır. .

HEDEF = "_top" - belgenin tam pencerede yüklenmesine neden olur. Belge zaten tam penceredeyse bu değer aşağıdakiyle aynı etkiye sahiptir:"_kendi".

HEDEF = "_parent" - belgenin geçerli çerçevenin üst çerçevesinin kapladığı alana yüklenmesine neden olur. Ana çerçeve yoksa bu parametre değeri aşağıdakiyle aynı etkiye sahiptir:"_tepe" .

Not

Bazı HTML kaynakları yanlışlıkla bir çerçevenin ebeveyni yoksa "_parent" değerinin "_self" değerine eşdeğer olduğunu belirtir. Bu ifade her zaman doğru değildir.

Uyarı

Ayrılmış çerçeve adları "_blank", "_self", "_parent" ve "_top" küçük Latin harfleriyle yazılmalıdır. Bu titizliğin Netscape'e özgü olduğunu unutmayın. Microsoft Internet Explorer her durumda yazılan ayrılmış adları doğru şekilde tanır.

Çerçeveler ve bireysel tarayıcı pencereleri arasındaki etkileşimin örneklerini burada bulabilirsiniz. Aşağıdaki HTML kodunu göz önünde bulundurun:

Çerçeveleri Kullanma

Bu HTML belgesi "A", "B" ve "C" adlı üç çerçeveden oluşan bir yapıyı açıklamaktadır. Çerçeveler arasındaki bağlantıları düzenlemek için daha sonra çerçeve adlarına ihtiyaç duyulacaktır. Bu örnekte “A” isimli çerçeveye herhangi bir bağlantı olmayacağını, dolayısıyla isimsiz bırakılabileceğini unutmayın. Yukarıdaki belgeyi bir tarayıcıya yüklediğinizde çerçeveler, SRC parametresi tarafından tanımlanan dosyaların içerdiği bilgileri görüntüleyecektir. "A" çerçevesi, çerçeve_a.htm dosyasının içeriğini alacaktır ve geri kalan iki çerçeve, görüntülenecek verisi olmayan boş.htm dosyasından veri alacaktır. Çerçevelerin yapısını anlatan HTML belgesinde bölüm bulunmadığını bir kez daha hatırlatalım. .

Frame_a.htm adlı dosyanın metni şöyledir:

Çerçeve A için Belge

D

4. Belgeyi yeni bir pencereye yükleme

5. Bir belgeyi tam pencerede yükleme

6. Belgeyi geçerli çerçeveye yükleme

Bu belge bölümleri olan eksiksiz bir HTML belgesidir Ve ve sırasıyla, Frame_a.htm dosyasıyla aynı dizinde bulunan test.htm adlı dosyaya bağlantılar içerir.

test.htm dosyasının metni son derece basittir:

Test belgesi

Belge metnini test edin

İçeriği "A" çerçevesine yüklenen çerçeve_a.htm dosyasının, TARGET parametresi için farklı değerlere sahip aynı test.htm dosyasına altı bağlantısı vardır.

Bu bağlantıları uygularken gerçekleşecek eylemleri ele alalım. TARGET = "B" değerine sahip ilk bağlantı, test.htm dosyasını "in" adlı bir çerçeveye yükleyecektir. Altı bağlantıdan herhangi birini uyguladıktan sonra Netscape tarayıcısının altısını da aynı dosyayı işaret ettiğinden otomatik olarak farklı bir renge boyayacağını unutmayın. Microsoft Internet Explorer yalnızca gerçekten uygulanan bağlantıları işaretler.

İkinci bağlantı "C" çerçevesi için de aynısını yapacaktır. Başlangıçta, “B” ve “C” çerçevelerinde hiçbir şey yoktur (daha doğrusu boş dosyanın içeriği empty.htm yüklenir). Birinci ve ikinci bağlantıların uygulanması bu çerçeveleri dolduracaktır.

TARGET=MD" değerine sahip üçüncü bağlantı, "D" adında yeni bir tarayıcı penceresinin oluşmasına ve içine test.htm dosyasının yüklenmesine yol açacaktır. Bu bağlantının yazılma şeklinin ilkinden farklı olmadığını unutmayın. Aradaki fark, ilk iki durumda, çerçeve yapısıyla dosyada adları tanımlanan mevcut çerçevelere referans verilmiş, bu durumda ise var olmayan bir nesneye referans verilmiştir. bu referans en az bir kez yapılırsa, "D" adında bir pencere oluşturulacak ve bağlantıya tekrar tekrar tıklandığında veriler yalnızca şu anda mevcut olan "D" penceresine yeniden yüklenecektir. Elbette, kullanıcı bunu istediği zaman kapatabilir. zaman ve bu bağlantıyı seçerek yeniden oluşturun. Şekil 5.7 ilk üç bağlantı uygulandıktan sonraki durumu göstermektedir. Hatırlayın, ekrandaki pencerelerin konumu ve boyutları kullanıcı tarafından belirlenmektedir.

Pirinç. 5. 7 . Sol çerçevede bulunan ilk üç bağlantının sıralı uygulanmasından sonra elde edilen durum

TARGET = "_top" değerine sahip beşinci bağlantı, belgeyi tüm çerçeve yapısı yerine tam pencerede yükleyecektir. TARGET parametresinin bu değeri ile yeni bir pencere oluşturulmaz. Geri butonu tıklanarak çerçeve yapısına dönmek mümkündür.

Not

Çerçevelerin veya tarayıcı pencerelerinin adları, indirilen belgelerin adlarıyla karıştırılmamalıdır. Çerçevelerin adları görüntülendiğinde hiçbir yerde görünmez; yalnızca etkileşimi düzenlemek için gereklidir ve bu nedenle kullanıcıdan gizlenir. Bunları yalnızca HTML dosyalarının kaynak metnini görüntülerken görebilirsiniz.

Tavsiye

İndirilen dokümanların isimlerinin etiketiyle belirtildiğini hatırlatalım. . Bir belge tam pencerede yüklenirse adı tarayıcı penceresinin en üstünde görüntülenir. Bir belge bir çerçeveye yüklenirse adı hiçbir yerde görüntülenmez ve belgenin çerçeve yapısının açıklamasını içeren belgenin başlığı yine de pencerenin üst kısmında yer alır. Bu nedenle çerçevelerde görüntülenmesi amaçlanan belgelerin adları çok önemli değildir. Örneğin, Şekil 2'de. 5.7 aynı belge “B” ve “C” çerçevelerinin yanı sıra “D” adlı ayrı bir pencereye yüklenirken, belgenin adı yalnızca “D” penceresinde görünür. Ancak, çerçevelere yüklenen belgelerin adlarının atlanması pek tavsiye edilmez; çünkü bunlar, örneğin bir çerçevede veya görüntülenen belgeler listesinde bulunan bir belge için yer imi oluştururken Yer İşaretleri listesinde görünebilir.</span> </i></p> <p>Çerçeveler ve tarayıcı pencereleri arasındaki etkileşimi düzenlemenin başka bir ilginç örneğine bakalım. Yüklenen ana HTML belgesinin metni olsun:</p> <p><HTML> </p> <p><HEAD> </p> <p><TITLE>Pencere adlarını kullanma

Çerçeve yapısına sahip bir belgenin yeni bir pencereye açılması

Çerçeveleri Kullanma

Ana belgenin standart bir HTML belgesi olması durumunda, ana belgedeki bir bağlantıdan yüklenen çerçeve.htm dosyasının çerçeve yapısını içerdiğini ve boş.htm dosyasına bağlantılar içerdiğini lütfen unutmayın.

Ana belgeyi yükledikten sonra tarayıcı penceresi Şekil 2'de gösterildiği gibi görünecektir. 5.8 (sol pencere). Belgenin tamamı iki bağlantıdan oluşmaktadır. İlk bağlantıyı takip edelim. Test.htm dosyasının metninin görüneceği “D” adında yeni bir pencere oluşturulacaktır (Şekil 5.8, sağ pencere). Bu bağlantıyı tekrarlamak yalnızca "D" penceresindeki verileri yeniden yükleyecektir.


Pirinç. 5.8. Etkileşimli çerçeve pencerelerine örnek

İkinci bağlantıyı takip edelim. Çerçeve.htm dosyasının yükleneceği, “C” ve “D” adlarıyla iki çerçeveyi tanımlayan, isimsiz yeni bir pencere oluşturulacaktır (Şekil 5.8, alt pencere). Her iki çerçevede de hiçbir şey yok (daha doğrusu boş bir belge empty.htm yüklendi). Artık "D" adında açık bir pencere ve çerçeveli bir pencere olduğuna dikkat edin; bunlardan biri "D" olarak adlandırılmıştır. İlk bağlantıyı tekrar takip edelim. Veriler ilk durumdan farklı olarak “D” penceresine değil, “D” isimli bir çerçeveye yüklenecektir. Açıklanan tüm eylemlerin sonucu Şekil 2'de gösterilmektedir. 5.8.

Not

Açılan pencerelerin ve içeriklerinin görünümü bazen kullanıcı eylemlerinin sırasına bile bağlı olabilir. Davranışını tahmin edilmesi zor olan belgelerle çalışmak genellikle kullanıcı için haklı bir rahatsızlık yaratır ve geliştiricilerin veri yapısında düşünce eksikliğine işaret eder.

Eylemlerin sırasını değiştirirseniz, yani önce ikinci bağlantıyı, sonra ilkini çalıştırırsanız, “D” adlı pencere hiç görünmeyecektir! Bunun nedeni, ikinci bağlantı uygulandıktan sonra "D" adında bir çerçeve oluşturulacak ve ilk bağlantı için yeni bir pencere açmaya gerek kalmayacaktır.

Bu örnek kesinlikle bir rol modeli değil, yalnızca etkileşimi organize etmenin olası karmaşıklığını gösteriyor. Tam tersine, verilerin organizasyonunu gereksiz yere karmaşıklaştırmamaya, kullanıcının eylemlerinin sırasına göre sonucun değiştiği durumlar yaratmamaya çalışmalısınız.

Tavsiye

Çerçeve ve pencere adlarındaki çakışmaları önleyin. Çerçevelerin aynı adlara sahip olması resmi olarak yasak olmasa da kafa karışıklığına yol açabiliyor.

Uyarı

Çerçeve ve pencere adları büyük/küçük harfe duyarlı bir şekilde karşılaştırılır. Yani örneğin "frame_1" ve "Frame_1" adlı çerçeveler farklı olacaktır.

Çerçeveler arasındaki daha karmaşık etkileşim örnekleri

Çerçeveler arasındaki oldukça basit tipik etkileşim örnekleri yukarıda tartışılmıştır. Yeni pencereler oluşturma, tek tek çerçevelerin içeriğini değiştirme ve belgeyi tüm çerçeve yapısının imhasıyla tam pencerede görüntüleme görevleri dikkate alındı. Özel çerçeve adlarının yanı sıra ayrılmış "_blank", "_self" ve "_top" adlarının kullanımına ilişkin örnekler verilmiştir. Son ayrılmış adın "_parent" kullanılması daha karmaşıktır ve aşağıda açıklanacaktır.

Bu bölümde çerçeveler arasındaki etkileşime ilişkin daha karmaşık seçeneklere bakılacaktır. Özellikle, birkaç bitişik çerçevenin içeriğinin değiştirilmesi uygulanacaktır.

Bu bölümde daha önce bahsedilen çerçevelerin en yaygın kullanımlarından biri, biri bağlantıların listesini, diğeri ise belgelerin kendisini içeren iki çerçevenin durumudur (Şekil 5.1).

Sorunun formülasyonunu genişletmeye çalışalım. Diyelim ki bölümlere ayrılmış bölümlerden oluşan oldukça büyük bir belgenin içeriğini ekranda görüntülemek istiyorsunuz. Tipik bir örnek, belirli bir konudaki teknik literatürdür. Böyle bir belgenin ekranda istenilen sunumunu anlatalım. Ekranı üç çerçeveye bölelim; bunlardan biri kitap bölümlerinin bir listesini, ikincisi seçilen bölümün bölümlerinin bir listesini ve üçüncüsü seçilen bölümün metnini içerecektir. İkinci karede bir link seçtiğinizde üçüncü karenin içeriği değişmelidir. Bu gereksinimin uygulanması önemsizdir. İlk karede bir bağlantı seçtiğinizde hem ikinci hem de üçüncü karelerin içerikleri aynı anda değişmelidir. İlk bakışta, bu görevi HTML'de uygulamak imkansızdır (JavaScript veya diğerlerinde programlama kullanmadan), çünkü bir bağlantı yürütüldüğünde iki veya daha fazla değil yalnızca bir belge yüklenir. Ancak yine de bu sorunu çözmek oldukça mümkün.

Basit bir örnek kullanarak böyle bir sorunun olası çözümünü gösterelim. Ekranda üç çerçeve görüntülemek ve bunlara bazı belgeler yüklemek istediğinizi varsayalım. Bu çerçevelerin her birinde, örneğin iki çerçevenin içeriğini değiştiren bağlantılar oluşturma görevini belirleyelim. İlk çerçevenin pencere genişliğinin %50'sini ve yüksekliğinin %100'ünü kaplamasını sağlayın ve pencerenin sol tarafına konumlandırın. Pencerenin sağ yarısı da yatay olarak ikiye bölünmüştür ve iki çerçeve daha içerir. Bu yapı aşağıdaki kodla açıklanmaktadır:

Bu HTML kodunu kullanarak gerekli yapı oluşturulacaktır ancak sorunun çözülmesi imkansızdır. İç içe geçmiş yapıyı kaldırmak gerekir ayrı bir dosyaya koyun ve bu HTML kodunda, oluşturulan dosyaya atıfta bulunan bir çerçeveyi tanımlayın. Daha sonra kaynak belgenin metni şöyle görünecektir:

Çerçeveler arasındaki etkileşim örneği

İç içe yapıya sahip dosya oluşturuldu 1_2.htm adına sahiptir ve aşağıdaki kodu içerir:

1-2

İlk bakışta hiçbir şey değişmedi. Her iki durumda da, sırasıyla left.htm, 1.htm ve 2.htm belgelerinin yüklendiği üç çerçeve vardır. Ancak çerçeveler etkileşime girdiğinde fark ortaya çıkacaktır. İlk durumda çerçevelerden hiçbirinin ana çerçevesi yoksa, ikinci durumda iki çerçeve için ana çerçeve "Two_Frames" adlı bir çerçeve olacaktır. Bu nedenle, iki çerçeveden herhangi birine TARGET parametre değeri "_parent" değerine eşit olan bir bağlantı uygularsanız, birinci ve ikinci durum için sonuç farklı olacaktır. İlk durumda, böyle bir bağlantının uygulanması, belgeyi tam pencereye yükleyerek mevcut çerçeve yapısının yerini alacaktır. Bu, bir ana çerçevenin yokluğunda "_top" gibi davranan "_parent" değer özelliğinin devreye girdiği yerdir. İkinci durumda ise ekranın sağ yarısını kaplayan ve esasen iki kareden oluşan "Two_Frames" isimli bir çerçeve yer değiştirecek.

İkinci durum, referansların yapılabileceği "Two_Frames" adlı bir çerçevenin varlığıyla da biçimsel olarak birincisinden farklıdır. Sorunu çözmemizi sağlayacak olan tam da bu özelliktir.

Başlangıçta incelenen çerçevelerden ilkine yüklenen left.htm dosyasının içeriği aşağıdadır:

Sol çerçeve

Pencerenin sağ tarafında bulunan iki çerçevedeki belgeler.

Belge konumu seçeneğini seçin:

1 _2.htm" TARGET="Two_Frames">Seçenek 1-2

Seçenek 2-1

2-1<TITLE> </p> <p></HEAD> </p> <p><FRAMESET ROWS="*,*"> </p> <p><FRAME SRC="2.htm"> </p> <p><FRAME SRC="1.htm"> </p> <p></FRAMESET> </p> <p></HTML> </p> <p>1_2.htm ve 2_1.htm dosyalarının metninin yalnızca 1.htm ve 2.htm dosyalarına olan bağlantıların sırasına göre farklılık gösterdiğini unutmayın.</p> <p>Şimdi sol çerçeveye yüklenen bir belgenin yapısını ele alalım. TARGET = "Two_Frames" parametresine sahip iki bağlantı içerir. Bu bağlantılardan herhangi birinin uygulanması, "Two_Frames" çerçevesinin konumunda (bu, ekranın sağ yarısıdır) iki çerçeve oluşturur ve 1.htm ve 2.htm belgelerini şu veya bu sırayla yükler. Böylece, 1-2 seçeneğini seçerken, 1.htm belgesi sağ üst çerçeveye, 2.htm belgesi ise sağ alt çerçeveye yüklenir. 2-1 seçeneğini seçtiğinizde belgelerin sırası değişir. Sonuç olarak seçeneklerin dönüşümlü olarak seçilmesi, iki çerçevedeki belgelerin yer değiştirdiği izlenimini yaratıyor. Bu tam olarak elde etmeye çalıştığımız etkidir (Şekil 5.9).</p> <p>Açıklanan örnek için 1.htm ve 2.htm belgelerinin içeriği önemli değildir. Ancak örneğin önemsiz belgeler yerine aynı eylemleri uygulayan bağlantılara sahip belgeler oluşturacağız.</p> <p>1.htm dosyasının metni:</p> <p><HTML> </p> <p><HEAD> </p> <p><TITLE>Belge 1

Belge 1

Seçenek 1-2

Seçenek 2-1

Dosya 2.htm, yalnızca başlıkta 1.htm'den farklıdır.

Ana çerçeveye işaret eden TARGET='_parent' değerine sahip iki bağlantı vardır. Bu bağlantılar ayrıca ana çerçevenin açık bir adı ile de yazılabilir, örneğin TARGET="Two_Frames", ancak örtülü bir ad kullanmak genellikle daha uygundur. Örneğin, sol çerçevedeki bağlantıları hariç tutarsanız (sol belge.htm), ana çerçeve yapısını açıklarken belirtilen "Two_Frames" çerçeve adını atlayabilirsiniz. Bu, adı olmayan bir çerçeve oluşturur, ancak TARGET = "_parent" içeren 1.htm ve 2.htm belgelerindeki bağlantılar yine de düzgün çalışır.

Tavsiye

Mümkün olduğunda örtülü çerçeve adlandırma kullanın. Örneğin, belirli adlar belirtmek yerine "ebeveyn", "üst", "kendi".


Pirinç. 5.9. Yüklenen belgeleri değiştirme etkisine sahip etkileşimli çerçeve pencereleri

Çerçeveler ve tarayıcı pencereleri arasındaki fark

Çerçevelerle çalışırken, bir tarayıcı penceresinin çerçeve yapısını düzenlemek ile birden fazla pencere oluşturmak arasındaki temel farkla ilgili soru ortaya çıkıyor. İlk bakışta, pencereler ve çerçevelerle çalışmak çok benzer olduğundan, birden fazla pencere oluşturma becerisine sahip olabilirsiniz. Her çerçeve ayrı bir belgenin yüklenmesini gerektirir, içeriği bağımsız olarak kaydırma özelliğine sahiptir ve diğer çerçevelerden gelen komutlarla değiştirilebilir. Çerçevelerin bu özellikleri tarayıcı pencerelerinin özelliklerine benzer. Verilerin tablo halinde düzenlenmesiyle böyle bir hareket özgürlüğüne ulaşmak imkansızdır.

Ancak çerçeveler ve pencereler arasında önemli bir fark vardır. Çerçeve organizasyonunda, görüntüleme alanının çerçevelere bölünmesi, boyutları ve konumlarını belirterek HTML belgesinin kendisi tarafından gerçekleştirilir. Görüntülerken kullanıcı, yapılarının açıklamasında yasaklanmadığı sürece çerçevelerin boyutunu değiştirebilir. Pencerelerin düzeni, Windows sistemiyle çalışmanın genel kurallarına göre belirlenir - kullanıcı herhangi bir pencereyi tam ekrana genişletebilir, bir simgeye küçültebilir veya keyfi olarak boyutunu ve konumunu ayarlayabilir. Windows, çerçevelerin aksine üst üste gelebilir. Bu seçim zenginliğinin bir dezavantajı vardır; en uygun görüntüleme seçeneğini elde etmek için pencereleri her seferinde ekranda manuel olarak konumlandırmanız ve yeniden boyutlandırmanız gerekir. Çerçeveler söz konusu olduğunda, en uygun boyut oranı genellikle geliştirici tarafından çerçeve yapısının açıklamasında belirtilir ve çoğu zaman değiştirilmesine gerek yoktur.

Tavsiye

Her ne kadar çerçeveler bireysel pencerelerle çalışmanın tüm olanaklarını sağlayamasa da, bunların rasyonel organizasyonu kullanıcıya maksimum kolaylık yaratacaktır.

Pencerelerle çalışmanın başka dezavantajları da vardır. Her pencereyi oluşturmak çok fazla bellek gerektirir. Netscape'te her pencere, tam bir düğme ve menü seti ile tamamlanan tarayıcının başka bir kopyasıdır. Aynı durum Microsoft Internet Explorer için de tipiktir.

Tarayıcılardaki bireysel pencerelerin organizasyonunun farklı şekilde yapıldığını unutmayın. Bir belgeyle yeni bir pencere oluşturmak, çalışan görevlerin listesini görüntülerken görebileceğiniz gibi, Windows sisteminde ayrı bir görevin görünmesine neden olur. Bu nedenle, pencereler arasında geçiş yapmak, farklı görevler arasında geçiş yapmakla aynı şekilde, örneğin bir klavye kısayoluna basılarak yapılabilir. +.

Birçok popüler Windows uygulaması belge penceresi kavramına sahiptir. Örnekler arasında Microsoft Word kelime işlemcisi veya Paint Shop Pro grafik programı ve diğerleri yer alır. Bu uygulamaların her biri, birkaç pencerenin verilerle aynı anda kullanılmasına izin verir ve kural olarak, pencerelerin bir listesini sağlayan ve bunlar arasında geçiş yapma olanağı sağlayan bir Pencere menüsü vardır. Bu tür uygulamalarda yeni bir pencerenin oluşturulması genellikle mevcut bir dosyayı açarken veya yeni bir dosya oluştururken gerçekleşir. Ancak bu programlarda yeni bir pencere oluşturulduğunda yeni bir çalışan görev oluşturulmaz.

Netscape ayrıca mevcut pencereleri listeleyen bir Pencere menüsüne de sahiptir. (Netscape 4.x sürümlerinde bu özellik Communicator menüsündeki Window öğesi tarafından sağlanmaktadır.) Şek. 5.8. Bu örnekte, her biri aslında ayrı bir tarayıcı olan üç pencere aynı anda açıktır. Ancak kullanıcı için hepsi aynı tarayıcının birbirleriyle etkileşime girebilen pencereleridir. Bu pencerelerin herhangi birinde Pencere menüsünü açabilir ve üç pencereden oluşan bir liste görebilirsiniz. İncirde. Şekil 5.10 alt pencere için bu işlemin yapıldığı durumu göstermektedir.


Pirinç. 5.10. Netscape Tarayıcısında Çerçeve Pencerelerini Açma

Her pencere ayrı ayrı kapatılabilir (Dosya menüsündeki Kapat komutu kullanılarak). Herhangi bir pencerede tarayıcıyla çalışmayı bitirmek için Dosya menüsünü açabilir ve Çıkış'ı seçebilirsiniz (Şekil 5.11).

Birkaç pencere açıksa hepsi kapatılacaktır, ancak bundan önce bir uyarı mesajı görünecektir (Şekil 5.12).

Her tarayıcı penceresinin kendi ayarları olabilir (hepsi olmasa da). Şek. 5.11. Biri üç çerçeveye bölünmüş iki pencere açıktır. Aynı belge üç çerçeveden ikisine ve ayrı bir pencereye yüklenir. Her pencerenin parametrelerini bağımsız olarak yapılandırma yeteneği, aynı belgeyi farklı şekilde görüntülemenize olanak tanır. Yukarıdaki örnekte, bir penceredeki belgenin yazı tipi boyutu diğerine göre daha büyüktür. Bu efekt, her pencere için farklı kodlamalar (Seçenekler menüsünün Belge Kodlama öğesi veya sürüm 4.x için Görünüm menüsünün Karakter Kümesi öğesi) ayarlanarak, her iki kodlama da aynı yazı tipini kullanarak ancak farklı boyutlarda elde edilir. Genel Tercihler menüsündeki herhangi bir öğenin değiştirilmesi tüm pencereleri etkiler.


Pirinç. 5.11. Netscape Tarayıcısından Çıkma

Pirinç. 5.12. Netscape tarayıcısında pencerelerin kapatılmasına ilişkin uyarı

Ek tarayıcı özellikleri

İlgili parametrelerle birlikte yukarıdaki çerçeve açıklama etiketlerinin tümü Netscape ve Microsoft Internet Explorer tarayıcılarında neredeyse aynı şekilde uygulanır, ancak bu tarayıcıların her biri ek olarak kendi benzersiz etiketlerini veya parametrelerini kullanmanıza izin verir.

Netscape Tarayıcı Özellikleri

Netscape tarayıcısı, sürüm 3.0'dan itibaren üç ek seçeneğe izin verir: BORDER, FRAMEBORDER ve BORDERCOLOR. BORDER parametresi yalnızca etikete uygulanır . BORDER parametresinin değeri, çerçeveler arasındaki kenarlıkların piksel cinsinden kalınlığını belirler.

FRAMEBORDER parametresi hem etikette hem de etikette kullanılabilir. ve etikette ve çerçeveler arasında bir çerçevenin varlığını belirler. Bu parametre Evet veya HAYIR olabilir. Parametre etikette yazılıysa seçeneğini belirlerseniz etkisi bu gruptaki tüm karelere uygulanır. Tek bir kare için değer geçersiz kılınabilir. Varsayılan değer "evet" dir.

BORDER ve FRAMEBORDER parametrelerinin birbirinden bağımsız çalıştığını unutmayın. Örneğin, FRAMEBORDER NO olarak ayarlanmışsa ve BORDER sıfırdan farklı bir değere ayarlanmışsa, çerçeveler arasındaki kenarlık çizilmeyecek ancak BORDER parametre değeri tarafından belirlenen alan buna tahsis edilmeye devam edecektir.

BORDERCOLOR parametresi etiketteki gibi kullanılabilir ve etikette ve renk adı veya onaltılık gösterimi ile belirtilebilen kenarlık rengini tanımlar.

İşte bir örnek:

Bu HTML kodunun ilk satırı, aralarında 10 piksel kalınlığında bir çerçeve için boşluk bulunan üç çerçeveyi belirtir (Şekil 5.13).


Pirinç. 5.13. Netscape tarayıcısında çerçeveler arasına kenarlık çizme

"A" ve "B" çerçeve pencereleri arasında FRAMEBORDER parametresinin NO değeri nedeniyle çerçeve çizilmez ancak çerçeve için kırmızı renk tanımlanır. Son kare "c" için, FRAMEBORDER değeri Evet olarak ayarlanır ve ilk satırda ayarlanan değeri geçersiz kılar. Bu nedenle “B” ve “C” isimli çerçevelerin arasına yine 10 piksel kalınlığında kırmızı bir çerçeve çizilecektir.

Not

Çerçeveler arasındaki sınırlar çizilmemişse, Netscape tarayıcısı, NORESIZE parametresi olmasa bile çerçevelerin fare ile sürüklenerek yeniden boyutlandırılmasına izin vermeyecektir. Microsoft Internet Explorer için durum farklıdır.

Kenarlıksız çerçevelerin çok nadir kullanılmadığını unutmayın. Çerçevelerin yokluğunun kaydırma çubuklarının görünümünü engellemediği unutulmamalıdır (Şekil 5.14).


Pirinç. 5.14. Kenarlıksız çerçevede kaydırma çubukları

Microsoft Internet Explorer Tarayıcı Özellikleri

Microsoft Internet Explorer tarayıcısı, FRAMEBORDER parametresini yukarıda açıklananlarla aynı amaçlarla kullanmanıza izin verir, ancak çerçevelerin rengini ve kalınlığını ayarlamanıza izin vermez. Ancak, çerçeve çizmeyi iptal etmek için FRAMEBORDER parametresine yönelik bir değer olarak yalnızca "O" sayısal değeri veya çerçeve çizmek için sıfır olmayan bir sayısal değer kullanılabilir.

Farklı tarayıcılar için FRAMEBORDER parametresinin değerlerini ayarlama kurallarındaki fark çok rahatsız edici. Örneğin FRAMEBORDER=Evet ayarını yapmayı deneyin. Bu girdi Netscape için doğrudur ancak Microsoft Internet Explorer için çerçevenin bulunmamasına neden olacaktır. Önceki örnek (Şekil 5.13) Microsoft Internet Explorer'da görüntülendiğinde çerçevesiz olarak sunulacaktır.

Tavsiye

FRAMEBORDER parametresinin değerinin her zaman sayısal biçimde yazılması tavsiye edilir, örneğin FRAMEBORDER=0. Bu, Microsoft Internet Explorer için bir parametre yazma kurallarına uyar, ancak Netscape kurallarını ihlal eder (ikincisi tarafından doğru şekilde algılanmasına rağmen).

Not

Çerçeveler arasındaki çerçeveler çizilmezse, Microsoft Internet Explorer tarayıcısı (Netscape'in aksine), NORESIZE parametresinin yokluğunda, çerçeveleri fareyle sürükleyerek çerçeveleri yeniden boyutlandırmanıza "dokunmanıza" olanak tanır. Fare işaretçisinin şeklini değiştirerek çerçevenin olması gereken yeri bulabilirsiniz.

Microsoft Internet Explorer tarayıcısı, etikette yazılı ek bir FRAMESPACING parametresinin kullanılmasına izin verir değeri kareler arasında boş bırakılacak piksel sayısını belirler.

Görüntüleme sonucu Şekil 2'de gösterilen bir örnek verelim. 5.15.

Çerçeveler arasındaki mesafeyi değiştirme


Pirinç. 5.15. Microsoft Internet Explorer'da çerçeveler arasındaki boş alan

Not

Ne yazık ki, birçok HTML dili açıklaması yanlışlıkla FRAMESPACING parametresinin etikette kullanılması gerektiğini belirtir. . Microsoft Internet Explorer bu parametrenin yalnızca bir etikette kullanılmasına izin verir .

Yüzen çerçeveler

Microsoft Internet Explorer tarayıcısı benzersiz bir etiketin kullanılmasına izin verir . TEGS'de

Microsoft Internet Explorer, "değişken" çerçeveleri destekleyen ilk tarayıcıdır (ve şu ana kadar tek tarayıcıdır).

Bu çerçeveler tıpkı grafikler ve tablolar gibi ekranın herhangi bir yerine yerleştirilebilir.

Bu metnin sağındaki çerçeve özel bir etiket kullanılarak sayfaya yerleştirilir.

Kayan çerçeveli örnek belge:



yüzen çerçeve


yüzen çerçeve


Bu sayfaya "yüzen çerçeve" adı verilen özellik eklendi.
Ayrı bir pencerede görüntülenmek üzere başka bir html belgesi açılır.



… … …




Çerçeve yok

Bazı tarayıcılar belge çerçeve yapısını desteklemez veya yanlış yorumlar; ayrıca kullanıcılar genellikle tarayıcı ayarlarında HTML belge çerçeve yapısına yönelik desteği kasıtlı olarak devre dışı bırakır. Ve bu tür tarayıcıların ve kullanıcıların yüzdesi küçük olmasına rağmen yine de varlar.

Şimdi web sitenizi bir çerçeve yapısı kullanarak oluşturduğunuzu ve bazı ziyaretçilerin, belki de sorunun ne olduğunu bilmeden web sitenizi açmaya çalıştıklarını ve tarayıcılarının bir hata görüntülediğini hayal edin! Siteniz hakkında ne düşünecekler? Şöyle bir şey düşünüyorum: "Uff.. bir tür saçmalık.. Buraya bir daha gelmeyeceğim!"

Kullanıcının tarayıcı/tarayıcı ayarlarının çerçeveleri desteklemediğini açıkça belirtmek için bir etiket vardır </b> .</p> <p>Etiket <b><noframes> </b> kullanıcının tarayıcısı çerçeveleri desteklemiyorsa veya ayarlarında zorla devre dışı bırakılmışsa, içindeki metni görüntüler. Çerçeveler kullanıcının tarayıcısı tarafından destekleniyorsa bu etiket basitçe göz ardı edilir.</p> <p> <html> <br> <head> <br> <title>çerçeveler</title> <br> </head> <br> <frameset cols="*,800,*" border="0"> <br><b><noframes>Üzgünüz, ancak tarayıcınız çerçeveleri desteklemiyor..











Örneğin tarayıcınız çerçeveleri gerçekten desteklemiyorsa (burada uzun süre düşündüm.. :) eğer öyleyse, o zaman neden bu bölümü okuyorsunuz?) veya tarayıcınızda çerçeve desteğini kapattıysanız, örneğin sonucu fark edilecektir. deneme olarak tarayıcı.

Etiket </b> bir etiketin içinde bulunmalıdır <b><frameset> </b></p> <p>Kayan çerçeveyle her şey daha da basittir; istediğiniz metni aralara yazmanız yeterlidir. <b><iframe> </iframe> </b> ve eğer tarayıcı çerçeveleri desteklemiyorsa ekranda bu mesaj görüntülenecektir.</p> <p> <iframe src="primer.html" width="300" height="250" align ="left" scrolling="auto" frameborder="1"><b>Üzgünüz, ancak tarayıcınız çerçeveleri desteklemiyor..</b></iframe> </p> <ul><p>Çerçeve yapısını kullanarak bir sayfa oluşturmaya başlamadan önce, sayfanın düzenini, her pencerenin boyutunu, kaydırma çubuklarının varlığını veya yokluğunu vb. analiz edin. Bundan sonra, özellikle göreceli durumları hakkında endişelenmeden eklenti HTML dosyaları oluşturabilirsiniz. birbirlerine göre konumları.</p><p>Etiketi kullan <b><noframes> </b>. Tarayıcınızda site istediğiniz gibi çalışıyorsa ve görüntüleniyorsa, diğer kullanıcılar için durumların farklı olabileceğini unutmayın!</p> </ul> <p>Çerçeveli sitelerin gittikçe nadir hale gelmesine rağmen, çerçeveler konusu dikkate alınmadan HTML öğrenmek eksik kalacaktır. Ayrıca çerçeveler bir anlamda kendi nişini işgal etmiş ve yönetim ve yardım sistemleri için kullanılmaktadır. Çerçevelerin dezavantajlarının özellikle önemli olmadığı, aksine avantajların aktif olarak talep edildiği durumlarda.</p> <p>Etiket bir çerçeve oluşturmak için kullanılır <frameset>etiketinin yerine geçen <body>Bir belgede ve ekranı alanlara bölmek için kullanılır. Bu etiketin içinde etiketler var <frame>, alana yüklenmesi amaçlanan HTML belgesini işaret eder (Şekil 13.1).</p> <p>Pirinç. 13.1. Bir tarayıcı penceresini iki çerçeveye bölme örneği</p> <p>Çerçeveleri kullanırken en az üç HTML dosyasına ihtiyacınız vardır: ilki çerçeve yapısını tanımlar ve tarayıcı penceresini iki parçaya böler ve geri kalan iki belge belirtilen pencerelere yüklenir. Çerçeve sayısının mutlaka ikiye eşit olması gerekmez, belki daha fazla, ancak ikiden az olamaz, aksi takdirde çerçeve kullanmanın anlamı tamamen kaybolur.</p> <p>Şekil 2'de gösterilen sayfayı temel alarak çerçeve oluşturma aşamalarını ele alalım. 13.1. Üç dosyaya ihtiyacımız olacak: index.html - belgenin yapısını tanımlar, menu.html - sol çerçeveye yüklenir ve content.html - sağ çerçeveye yüklenir. Bunlardan yalnızca index.html kod yapısı bakımından diğer dosyalardan farklıdır (örnek 13.1).</p> <p>Örnek 13.1. index.html dosyası</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Çerçeveler</title> </head> <frameset cols="100,*"> <frame src="menu.html" name="MENU"> <frame src="content.html" name="CONTENT"> </frameset> </html> </p><p>Çerçeveler kullanılıyorsa kodun ilk satırına aşağıdaki belge türü yazılır.</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> </p><p><!DOCTYPE>tarayıcıya çerçevelerle uğraştığını söyler, bu kod satırı gereklidir. Konteyner <head>sayfa kodlaması ve belge başlığı gibi tipik bilgileri içerir. HTML dosyaları çerçevelerin içinde açıldığı sürece başlığın aynı kalacağını unutmayın.</p> <p>Bu örnekte, tarayıcı penceresi cols özelliği kullanılarak iki sütuna bölünmüştür; sol sütun 100 piksel kaplar ve sağ sütun yıldız işareti simgesiyle belirtilen kalan alanı kaplar. Çerçevelerin genişliği veya yüksekliği de tablolara benzer şekilde yüzde olarak ayarlanabilir.</p> <p>Etikette <frame>Belirtilen alana yüklenen HTML dosyasının adı src niteliği kullanılarak belirtilir. Sol pencereye menu.html adında bir dosya yüklenecek (Örnek 13.2), sağ pencereye ise content.html adı verilen bir dosya yüklenecektir (Örnek 13.3). Belgelerin name niteliğini kullanarak belirtilen pencereye yüklenebilmesi için her çerçeveye benzersiz bir ad verilmesi önerilir.</p> <p>Örnek 13.2. Dosya menu.html</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Site navigasyonu</title> </head> <body style="background: #f0f0f0"> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Bu örnekte sayfadaki gri arka plan, daha sonra tartışılacak olan stiller kullanılarak ayarlanmıştır.</p> <p>Örnek 13.3. Dosya içeriği.html</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Site içeriği</title> </head> <body> <p>İÇERİK</p> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Üç çerçeveli daha karmaşık bir örneği ele alalım (Şekil 13.2).</p> <p><img src='https://i0.wp.com/htmlbook.ru/files/images/samhtml/fig_1_13_2.png' width="100%" loading=lazy loading=lazy></p> <p>Pirinç. 13.2. Bir sayfayı üç çerçeveye bölme</p> <p>Bu durumda etiket tekrar kullanılır. <frameset>, ancak iki kez, bir etiket diğerinin içine yerleştirilmiş olarak. Yatay bölümleme, çeşitlilik için yüzde gösteriminin kullanıldığı satırlar özelliği aracılığıyla oluşturulur (Örnek 13.4).</p> <p>Örnek 13.4. Üç çerçeve</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Çerçeveler</title> </head> <frameset rows="25%,75%"> <frame src="top.html" name="TOP" scrolling="no" noresize> <frameset cols="100,*"> <frame src="menu.html" name="MENU"> <frame src="content.html" name="CONTENT"> </frameset> </frameset> </html> </p><p>Bu örnekten de anlaşılacağı üzere konteyner <frameset>row özniteliğiyle ilk önce iki yatay çerçeve oluşturulur, ancak ikinci çerçeve başka bir çerçeveyle değiştirilir <frameset>Örnek 13.1'den zaten bildiğiniz yapıyı tekrarlayan. Dikey kaydırma çubuğunun görünmesini ve kullanıcının üst çerçevenin boyutunu bağımsız olarak değiştirememesini önlemek için, kaydırma = "no" ve noresize nitelikleri eklenmiştir.</p> <p><i> </i> 07.12.2015</p> <p>Henüz değil</p> <br><p>Herkese selam! <br>HTML'nin temellerini özenle incelemeye devam ediyoruz. Derslerini bırakmadığına sevindim.</p> <p>Bu derste bakacağız <b>çerçeveler nedir</b> ve bunların HTML'de nasıl oluşturulduğu. <br>Şimdi HTML'de hangi çerçevelerin olduğunu tanımlayalım. <br><b>Çerçeveler</b>- Bu, tarayıcı penceresinin ayrı ayrı HTML belgelerinin yüklenebileceği ayrı alanlara bölünmesidir.</p> <p>Çerçeveler sayesinde birden fazla web sayfasını tek bir tarayıcı penceresinde aynı anda görüntüleyebileceğinizi anladığınızı düşünüyorum.</p> <p>Örnek olarak çerçevenin pratikte nasıl çalıştığını anlamak için bir örneğe bakmanızı öneririm. Orada birkaç geçiş yapın:</p> <p>Yani ne düşünüyorsun? Bunu nasıl oluşturacağınızı öğrenmek ister misiniz? Şimdi öğreneceğiz <b>html belgesine çerçeve ekleme</b>.</p> <p>Bir web sayfasındaki çerçeve aşağıdaki düzen kullanılarak oluşturulur:</p><p> <frameset> <frame> <frame> </frameset> </p><blockquote><p><b>Dikkat:</b>çerçeve kodu düzeni, etiket yerine html belgesine eklenir <bode><script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> :</p> </blockquote> <html> <head> <title>Çerçeveler</title> </head> <frameset> <frame> <frame> </frameset> </html> <p>○ <b>çerçeve kümesi etiketi</b></p> <p>Bu, içinde diğer öğelerin bulunduğu bir çerçeve oluşturmak için ana kaptır. <br>Kapanış etiketi gereklidir.</p><p> <frameset></frameset> </p><p><i><b>*Çerçeve kümesi etiketinin özellikleri:</b> </i> </p> <ul><li>Sütunlar - dikey</li> <li>Satırlar - yatay</li> </ul><p><b>satırlar</b>- yatay olarak</p> <p><img src='https://i2.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-1.png' height="125" width="181" loading=lazy loading=lazy></p> <p><b>sütunlar</b>- dikey olarak</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-2.png' height="127" width="185" loading=lazy loading=lazy></p> <p>Sütunlar ve satırlar nitelikleri, tarayıcı penceresinin kaç parçaya bölünmesi gerektiğini belirtir. Örneğin, tarayıcı penceresini iki dikey parçaya bölmek için şu şekilde yazmanız gerekir:</p><p> <frameset cols="30%,*"> </p><p>Ekranın sol tarafı %30, sağ tarafı ise %70 boyutunda olacaktır.</p> <p>Tarayıcıyı birkaç parçaya daha bölmek istiyorsanız, virgüllerle ayrılmış ek boyutlar ekleyin, örneğin:</p><p> <frameset cols="30%,20%,10%,40%"> </p><p>Sonuç olarak, ilk <span>dikey sütun</span> genişliği %30, ikincisi %20, üçüncüsü %10, dördüncüsü %40 genişliğinde olacaktır.</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-3.png' width="100%" loading=lazy loading=lazy></p> <p>Anladım?</p> <p>Aynı şey yatay düzen için de geçerlidir:</p><p> <frameset rows="30%,20%,10%,40%"> </p><p>İlk yatay sütun %30 genişliğinde, ikincisi %20, üçüncüsü %10, dördüncüsü %40 genişliğinde olacaktır.</p> <p><img src='https://i1.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-4.png' height="199" width="390" loading=lazy loading=lazy></p> <p>○ <b>çerçeve etiketi</b></p> <p>Çerçeve etiketi, tarayıcı penceresine hangi HTML belgesinin yüklenmesi gerektiğini belirtir. <br>Örneğin “1.html”, “2.html”, “3.html” olmak üzere üç farklı sayfayı tek bir tarayıcı penceresine yüklememiz gerekiyor. Çerçeve etiketi şu şekilde görünecektir:</p><p> <frame src="1.html"> <frame src="2.html"> <frame src="3.html"> </p><p>Çerçeveler hakkındaki bilgileri özetleyelim. Yani görev: Tarayıcı penceresini iki parçaya ayırmanız ve bu parçalara iki web sayfası yüklemeniz gerekiyor - “1.html” %30, “2.html” %70. <br>İşte bitmiş kod:</p><p> <frameset cols="30%,*"> <frame src="1.html"> <frame src="2.html"> </frameset> </p><p>Sonuç şu şekilde olacaktır:</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-5.png' width="100%" loading=lazy loading=lazy></p> <p><i><b>* Çerçeve etiketi özellikleri</b> </i> </p> <ul><li>src – web sayfası adresi. <i>src = "1.html"</i> ;</li> <li>marj genişliği – genişlik boyunca çerçevenin içindeki kenar boşluğu. Örnek: <i>kenar boşluğu = "10"</i> ;</li> <li>marjyüksekliği – çerçevenin içindeki yükseklik marjı. Örnek: <i>marjyüksekliği = "10"</i> ;</li> <li>kaydırma – çerçevenin kaydırma boyunca kaydırılması. <br>- evet – kaydırma çerçevede mevcut olacaktır. Örnek: <i>kaydırma = "evet"</i> ;<br>- hayır – çerçevede kaydırma bulunmayacak. Örnek: <i>kaydırma = "hayır"</i> ;<br>- gerekirse çerçevede otomatik kaydırma mevcut olacaktır. Örnek: <i>kaydırma = "otomatik"</i> ;</li> <li>noresize – çerçeve kenarlıklarının taşınmasını yasaklar.</li> <li>ad – çerçeve adı. Diğer çerçevelerin hangi pencerede açılması gerektiğini belirtir. Örnek: <i>isim = "site"</i> ;</li> </ul> <p>“Ad” özelliğinde çerçeve için bir ad belirtmezseniz, bağlantıya tıkladığınızda bağlantının bulunduğu pencerede yeni bir çerçeve açılacaktır:</p> <p>"Ad" özelliğini eklerseniz bir örnek:</p> <p>Bu daha iyi değil mi? <br>Herhangi bir çerçeve için, diğer HTML belgelerinin açılmasını istediğiniz yere "ad" özelliğini ekleyin</p><p> <frame src="2.html "name ="сайт"> </p><p>“name” özelliğindeki ad herhangi bir şey olabilir. Ancak gelecekte başka "çerçeve" etiketlerine ad verirseniz, her birinin benzersiz olması gerektiğini unutmayın:</p><p> <frame src="2..html "name ="bloggood-ru"> <frame src="3.html "name ="nocrisise-ru"> </p><p>sayfa 2 sayfa 3</p><p>“Sayfa 1”, “Sayfa 2”, “name =" çerçevesinin adını belirttiğiniz bir pencerede açılacaktır. <span>İnternet sitesi "</span>" ve "Sayfa 3", "name =" adının bulunduğu başka bir çerçevede açılacaktır. <span>bloggood-ru "</span>»</p> <p><b>PRATİK</b></p> <p>Görev: Bu düzeni kullanarak çerçeveler oluşturmanız gerekir:</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-6.png' width="100%" loading=lazy loading=lazy></p> <p>İlk önce üç yatay çerçeve oluşturalım:</p><p> <frameset rows="15%,*,15%"> </frameset> </p><p>Şimdi "top.html" ve "footer.html"yi ekleyelim</p><p> <frameset rows="15%,*,15%"> <frame src="top.html"> <frame src="footer.html"> </frameset> </p><p>Şu ana kadar sonuç şöyle olacak:</p> <p><img src='https://i1.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-7.png' width="100%" loading=lazy loading=lazy></p> <p>Şimdi “top.html” ile “footer.html” arasına “menu.html” ve “content.html”yi ekleyeceğiz:</p><p> <frameset rows="15%,*,15%"> <frame src="top.html"> <frameset cols="25%,75%"> <frame src="menu.html"> <frame src="content.html" name="main"> </frameset> <frame src="footer.html"> </frameset> </p><p>Hazır kod:</p><p> <html> <head> <title>Çerçeveler</title> </head> <frameset rows="15%,*,15%"> <frame src="top.html"> <frameset cols="25%,75%"> <frame src="menu.html"> <frame src="content.html" name="main"> </frameset> <frame src="footer.html"> </frameset> </html> </p><p>Dosyayı "index.html" olarak kaydedin</p> <p>“top.html”, “footer.html”, “menu.html” ve “content.html” sayfalarını oluşturun:</p> <p>Dosya kodu "top.html"</p><p> <html> <head> <title>site başlığı</title> </head> <body bgcolor="#b2f2ff" text="#0000FF"> <h1>İnternet sitesi</h1> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>"Footer.html" dosyasının kodu</p><p> <html> <head> <title>Footer.html dosyası</title> </head> <body bgcolor="#b2f2ff" text="#000000">StepkinBlog.com © 2015<script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Dosya kodu "menü.html"</p><p> <html> <head> <title>Dosya menu.html – site menüsü</title> </head> <body bgcolor="#b2bbff" text="#112cf5"> <ul> <li>Ana sayfa</li> <li>yazar hakkında</li> </ul> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>"content.html" dosyasının kodu:</p><p> <html> <head> <title>Ana sayfa</title> </head> <body bgcolor="#e3e5f8" text="#FF0055"> <h1>Ana sayfa</h1>Site içeriği - "Ana sayfa (content.html)"<script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>"autor.html" dosyasının kodu:</p><p>Bu da elde ettiğim sonuç:</p> <p>“Frame” niteliklerini kullanalım ve “index.html” dosyasında karelerin manuel olarak uzatılmasını devre dışı bırakalım ve kaydırmayı kaldıralım.</p><p> <frameset rows="15%,*,15%"> <frame src="top.html" scrolling ="no" noresize> <frameset cols="25%,75%"> <frame src="menu.html"scrolling ="no" noresize> <frame src="content.html" name="main"scrolling ="no" noresize> </frameset> <frame src="footer.html" noresize> </frameset> </p><p><b>○ Çerçeveler tarayıcı tarafından desteklenmiyorsa ne yapmalısınız? <br></b><br>Kullanıcıya, tarayıcısının çerçeveleri desteklemediğini belirten bir mesaj görüntüleyebilirsiniz. Bunu yapmak için etiketi ekleyin <noframes>yapının içinde <frameset> :</p><p> <frameset rows="15%,*,15%"> <noframes>

○ Yüzer çerçeve

Çerçeve yapısı olmayan bir sayfaya doğrudan iframe penceresi eklemeniz gerekiyorsa bunun için bir "iframe" etiketi vardır.

* “iframe” etiketi özellikleri

  • src - açılacak sayfanın yolu
  • genişlik - kayan çerçevenin genişliği
  • yükseklik - kayan çerçeve yüksekliği
  • kaydırma - kaydırma çubuğu
    - hayır - kaydırma çubuğunu hiçbir zaman gösterme
    - evet - her zaman göster
    - otomatik - gerekirse göster
  • hizala - kayan çerçeve hizalaması
    - sol sol
    - sağ – sağda
    - üst – daha yüksek
    - alt – aşağıda
  • çerçeveborder - kayan çerçevenin etrafındaki kenarlık
    - 1 - çerçeveyi açın
    - 0 - çerçeveyi kapat

Niteliklere sahip “iframe” etiketi şu şekilde görünecektir:

Tarayıcınız çerçeveleri desteklemiyorsa " metnini ekleyebilirsiniz. Aman Tanrım! Tarayıcınız çerçeveleri desteklemiyor. » etiketler arasında .
Bunun gibi görünecek:

Örneğin "content.html" dosyasına bir iframe ekleyelim:

Ana sayfa

Ana sayfa

Site içeriği - "Ana sayfa (içerik.! Tarayıcınız çerçeveleri desteklemiyor.)

Önceki yazı
Sonraki giriş



 


Okumak:



En iyi kablosuz kulaklıkların değerlendirmesi

En iyi kablosuz kulaklıkların değerlendirmesi

Evrensel kulakları ucuza satın almak mümkün mü? 3.000 ruble - bu kadar parayla yüksek kaliteli kulaklık satın almak mümkün mü? Görünüşe göre evet. Ve konuşma...

Bir mobil cihazın ana kamerası genellikle vücudun arka tarafında bulunur ve fotoğraf ve video çekmek için kullanılır.

Bir mobil cihazın ana kamerası genellikle vücudun arka tarafında bulunur ve fotoğraf ve video çekmek için kullanılır.

Tabletin geliştirilmiş özelliklere ve yüksek özerkliğe sahip güncellenmiş bir versiyonu. Acer akıllı telefonlar nadiren ziyaret ediliyor...

Numaranızı korurken başka bir operatöre nasıl geçilir?

Numaranızı korurken başka bir operatöre nasıl geçilir?

Rusya'da, bir abonenin başka bir mobil operatöre geçmesi durumunda telefon numarasının korunmasına ilişkin yasa 1 Aralık'ta yürürlüğe girdi. Ancak ortaya çıktı ki...

bir phablet'in incelemesi, pahalı ama çok yetkin

bir phablet'in incelemesi, pahalı ama çok yetkin

Bir phablet'in incelemesi, pahalı ama çok yetkin 03/20/2015 Ben dünyadaki çizmesiz tek ayakkabıcıyım, kendi akıllı telefonum olmayan bir akıllı telefon incelemecisiyim....

besleme resmi RSS