Нәтижесінде екі фрейм құрылады.
Фреймдер құрылымын құрған кезде келесідей түрде көрінеді:
Сіз фреймдер арасында тэгінде border параметрін қолданып шекараның қалыңдығын беуіңізге болады. border=0 жазбасы, сіз тэгтер арасында қандай бір шекара болмауын қаламайтыңызды білдіреді. (Netscape 2. x-да мұндай механизм жұмыс істемейді).
Фреймдер және JavaScript. Ал қазір JavaScript браузер терезесінде бар фреймдерді қалай «көретінін» қарастырайық. Ол үшін біз осы бөлімінің бірінші мысалында көрсетілгендей екі фреймді құрамыз. өзіміз көріп отырғандай, JavaScript иерархиялық құрылым түрінде web-бетке келтірілген барлық элементтерді ұйымдастырады. Фреймдергеде осылар жатады. Келесі суретте бірінші мысалда келтірілген объектілер иерархиясы көрсетілген:
Иерархияның төбесінде браузер терезесі көрсетілген (browser window). Қазіргі жағдай ол екі фреймге бөлінген. Терезе, объект сияқты, осы иерархияның әке-шешесі (parent) ру басы болады, ал екі фрейм – сійкесінше оның ұрпақтары (children). Біз бұл екі фреймге екі атау береміз – frame1 жіне frame2. Осы атаулардың арқасында екі көрсетілген фреймдермен ақпарат аламаса алаламыз.
Скрипт көмегімен келесі тапсырманы шешеміз: айталық келуші бірінші фреймде қандайда бір сілтемені активтендіреді, ал сәйкес бет осы фреймде емес басқа фреймде жүктелсін делік. Мұндай тапсырмаға мысал ретінде құарсырған мәзірді жатқызуға болады (немесе навигациялық панелді), мұнда әрқашан бір фрейм белгісіз болып қалады, бірақ келушіге осы сайтты ары қарай оқуға мүмкіндік беретін бірнеше сілтемелерді ұсынады. Осы тапсырманы шешу үшін, біз үш жағдайды қарастырамыз:
бас терезе/фрейм ұрпақ-фреймге рұқсат алады;
ұрпақ-фрейм ата-аналық терезе/фреймге рұқсат алады;
ұрпақ-фрейм басқа ұрпақ-фреймге рұқсат алады.
«Терезе» (window) объектісіндегі екі көрсетілген фреймді frame1 және frame2 деп атайды. Келесі суретте көрсетілгендей ата-аналық терезе мен фреймдер арасында тура өзара байланыс бар. Егер сіз осы фреймдерді құратын бет үшін , ата-аналық терезеге скрипт жазсаңыз, онда осы фреймдердің атауын көрсетіп қана қатынасуға болады. Мысалы, былай жазуға болады:
frame2.document.write(" Бұл хабарлама ата-аналық терезеден берілген.");
Кейбір жағдайда сізге фреймде тұрып ата-аналық терезе рұқсат алғыңыз келеді. Мысалы, егер сіз келесі ауысуларда фреймнен құтылғыңыз келгенде қажет етеді. Мұндай жағдайда фреймдерді өшіру болған фреймнің орнына жаңа бет жүктегенді білдіреді. Қазіргі жағдайда бұл терезені жүктеу ата-аналық терезе болады. Бізге бұны орындауға ата-аналық терезеден фреймге рұқсат беру көмектеседі. Жаңа құжатты жүктеу үшін, біз location.href -ге жаңа URL адресті енгізуіміз керек. Біз фреймдерден құтылғымыз келеді, сондықтан ата-аналық терезеден location объектісін қолданамыз. (Ескерте кетеміз, әрбір фреймге өз бетін жүктеуге болады, біз әрбір фрейм үшін өз location объектісі болады). сонымен, біз келесі команда көмегімен ата-аналық терезеде жаңа бетті жүктей аламыз:
parent.location.href= "http://...";
Соңында, сізге бір фрйм-ұрпақтан келесі сондай фрейм-ұрапқа рұқсат алуды қамтитын тапсырмаларды шешу жиі кездесетін болады.Сонымен, HTML-бетте қандай команданы қолданып page1.htm бірінші фреймде болып, екіншісіне қандай бір нәрселерді жазуды жүзеге асыруға болады? Біздің суреттен осы екі фрейм арасында ешқандай тура байланыс жоқ екенін қалай көруімізге болады. Сондыұтан, біз frame1 фреймде болып, frame2 бостан босқа шақыра алмаймыз, ол екінші фреймнің бар екенін білмейтінін біле тұра. Шындығында ата-аналық терезеде екінші фрейм бар болып саналады және frame2 деп аталады, ал ата-аналық терезеге бірінші фреймнен parent деген атаумен қатынас жасауға болады. Екінші фреймде орналасқан document объектісіне рұқсат алу үшін біз келесідей жазуымыз керек:
parent.frame2.document.write("Салем, бұл бірінші фреймнен шақыру.");
Навигациялық панелдер. Навигациялық панелдер қалай құрылатынын қарастырайық. Бір фреймде бірнеше сілтемелерді құрамыз. Бірақ та, егер келуші осылардың біреуін активтендірсе сәйкес бет осы фреймде емес, келесі көршісінде орналасады. Алдымен бізге көрсетілген фреймді құратын, сәйкес скрипті жазу керек. Мұндай құжат Біз алдында қарастырған осы бөлімді жазғандағы сияқты болады:
frames3.htm
Достарыңызбен бөлісу: |