Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Проблема с корректным отображением русскоязычных символов

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Проблема с корректным отображением русскоязычных символов
Имя
Сообщение << Старые топики   Новые топики >>
Проблема с корректным отображением русскоязычных символов - 2008-02-10 15:21:21.513333   
Mega_пердюндель

Сообщений: 55
Оценки: 0
Присоединился: 2008-01-26 16:36:38.246666
Добрый день.
Скачал шаблон сайта,изначально англоязычный.
Сайт написан на Html и JavaScript.
В теле документа стояла кодировка iso-8859-1, поменял по совету Креша на UTF-8 для корректоного отображения русскоязычных символов.
Шапка сайта, то бишь разделы(home,about us и т.д.) написаны на JavaScript.
В папке,помимо index.html,графики имеются файлы скриптов exmplmenu_var.js,menu_com.js.
В скрипте menu_com.js можно изменять имена разделов и ссылки на них.
Проблема заключается в том, что русскоязычные имена разделов некорректно отображаются в браузерах IE и Mozzila, в Opera все нормально.
Как справиться с проблемой?
JavaScript не знаю, пытался при помощи блокнота найти в файлах скриптов что-то связанное с кодировкой, не нашел.
Вот menu_com.js:
_____________________________________________________
/* © Ger Versluis 2000 version 5 October 9th 2001 *
* You may remove all comments for faster loading */

var NoOffFirstLineMenus=10; // Number of first level items
var LowBgColor='#8AA0B4'; // Background color when mouse is not over
var LowSubBgColor='white'; // Background color when mouse is not over on subs
var HighBgColor='#8AA0B4'; // Background color when mouse is over
var HighSubBgColor='white'; // Background color when mouse is over on subs
var FontLowColor='white'; // Font color when mouse is not over
var FontSubLowColor='black'; // Font color subs when mouse is not over
var FontHighColor='#00A2FF'; // Font color when mouse is over
var FontSubHighColor='white'; // Font color subs when mouse is over
var BorderColor='black'; // Border color
var BorderSubColor='black'; // Border color for subs
var BorderWidth=0; // Border width
var BorderBtwnElmnts=0; // Border between elements 1 or 0
var FontFamily="Verdana" // Font family menu items
var FontSize=8; // Font size menu items
var FontBold=0; // Bold menu items 1 or 0
var FontItalic=0; // Italic menu items 1 or 0
var MenuTextCentered='center'; // Item text position 'left', 'center' or 'right'
var MenuCentered='left'; // Menu horizontal position 'left', 'center' or 'right'
var MenuVerticalCentered='top'; // Menu vertical position 'top', 'middle' or 'bottom'
var ChildOverlap=.1; // horizontal overlap child/ parent
var ChildVerticalOverlap=.1; // vertical overlap child/ parent
var StartTop=20; // Menu offset x coordinate
var StartLeft=0; // Menu offset y coordinate
var VerCorrect=0; // Multiple frames y correction
var HorCorrect=0; // Multiple frames x correction
var LeftPaddng=3; // Left padding
var TopPaddng=2; // Top padding
var FirstLineHorizontal=1; // First level items layout horizontal 1 or 0
var MenuFramesVertical=0; // Frames in cols or rows 1 or 0
var DissapearDelay=500; // delay before menu folds in
var TakeOverBgColor=0; // Menu frame takes over background color subitem frame
var FirstLineFrame='menu'; // Frame where first level appears
var SecLineFrame='content'; // Frame where sub levels appear
var DocTargetFrame='content'; // Frame where target documents appear
var TargetLoc=''; // DIV id for relative positioning (refer to config.htm for info)
var HideTop=0; // Hide first level when loading new document 1 or 0
var MenuWrap=1; // enables/ disables menu wrap 1 or 0
var RightToLeft=0; // enables/ disables right to left unfold 1 or 0
var UnfoldsOnClick=0; // Level 1 unfolds onclick/ onmouseover
var WebMasterCheck=0; // menu tree checking on or off 1 or 0

function BeforeStart(){return}
function AfterBuild(){return}
function BeforeFirstOpen(){return}
function AfterCloseAll(){return}

// Menu tree
// MenuX=new Array(Text to show, Link, background image (optional), number of sub elements, height, width);
// For rollover images set "Text to show" to: "rollover:Image1.jpg:Image2.jpg"

Menu1=new Array("Home","http://www.dynamicdrive.com","bgm.gif",0,19,78);
Menu2=new Array("About us","http://www.dynamicdrive.com","bgm.gif",0,19,78);
Menu3=new Array("Contact us","http://www.dynamicdrive.com","bgm.gif",0,19,78);
Menu4=new Array("Service","http://www.dynamicdrive.com","bgm.gif",0,19,78);
Menu5=new Array("Partners","http://www.dynamicdrive.com","bgm.gif",0,19,78);
Menu6=new Array("Support","http://www.dynamicdrive.com","bgm.gif",0,19,78);
Menu7=new Array("Faq","http://www.dynamicdrive.com","bgm.gif",0,19,78);
Menu8=new Array("E-mail","http://www.dynamicdrive.com","bgm.gif",0,19,78);
Menu9=new Array("FTP","http://www.dynamicdrive.com","bgm.gif",0,19,78);
Menu10=new Array("Stat server","http://www.dynamicdrive.com","bgm.gif",0,19,78);
________________________________________________________________________________________
Вот
exmplmenu_var.js:
________________________________________________________________________________________

/*********************************************************************************************************************************************
* © Ger Versluis 2000 version 5 9 October 2001 *
* You may use this script on non commercial sites. *
* For info write to menus@burmees.nl *
* This script featured on Dynamic Drive DHTML code library: http://www.dynamicdrive.com
**********************************************************************************************************************************************/

// Gobal variables

var AgntUsr=navigator.userAgent.toLowerCase();
var DomYes=(document.getElementById)?1:0;
var NavYes=(AgntUsr.indexOf('mozilla')!=-1&&AgntUsr.indexOf('compatible')==-1)?1:0;
var ExpYes=(AgntUsr.indexOf('msie')!=-1)?1:0;
var Opr5=(AgntUsr.indexOf('opera 5')!=-1||AgntUsr.indexOf('opera/5')!=-1)?1:0;
var DomNav=(DomYes&&NavYes)?1:0;
var DomExp=(DomYes&&ExpYes)?1:0;
var Nav4=(NavYes&&!DomYes&&document.layers)?1:0;
var Exp4=(ExpYes&&!DomYes&&document.all)?1:0;
var PosStrt=((NavYes||ExpYes)&&!Opr5)?1:0;

var FrstLoc,ScLoc,DcLoc;
var ScWinWdth,ScWinHght,FrstWinWdth,FrstWinHght;
var ScLdAgainWin;
var FirstColPos,SecColPos,DocColPos;
var RcrsLvl=0;
var FrstCreat=1,Loadd=0,Creatd=0,IniFlg,AcrssFrms=1;
var FrstCntnr=null,CurrntOvr=null,CloseTmr=null;
var CntrTxt,TxtClose,ImgStr;
var Ztop=100;
var ShwFlg=0;
var M_StrtTp=StartTop,M_StrtLft=StartLeft;
var LftXtra=(DomNav)?LeftPaddng:0;
var TpXtra=(DomNav)?TopPaddng:0;
var M_Hide=(Nav4)?'hide':'hidden';
var M_Show=(Nav4)?'show':'visible';
var Par=(parent.frames[0]&&FirstLineFrame!=SecLineFrame)?parent:window;
var Doc=Par.document;
var Bod=Doc.body;
var Trigger=(NavYes)?Par:Bod;

MenuTextCentered=(MenuTextCentered==1||MenuTextCentered=='center')?'center':(MenuTextCentered==0||MenuTextCentered!='right')?'left':'right';
WbMstrAlrts=["No such frame: ","Item not defined: ","Item needs height: ","Item needs width: ","Item Oke ","Menu tree oke"];

if(Trigger.onload)Dummy=Trigger.onload;
if(DomNav&&!Opr5)Trigger.addEventListener('load',Go,false);else Trigger.onload=Go;

function Dummy(){return} // Executes user onload when found

function CnclSlct(){return false} // Prevents text select on menu items.

function RePos(){ // Repositions menu after resize IE and NS6
var FrstCntnrStyle=(!Nav4)?FrstCntnr.style:FrstCntnr;
FrstWinWdth=(ExpYes)?FrstLoc.document.body.clientWidth:FrstLoc.innerWidth;
FrstWinHght=(ExpYes)?FrstLoc.document.body.clientHeight:FrstLoc.innerHeight;
ScWinWdth=(ExpYes)?ScLoc.document.body.clientWidth:ScLoc.innerWidth;
ScWinHght=(ExpYes)?ScLoc.document.body.clientHeight:ScLoc.innerHeight;
if(TargetLoc)ClcTrgt();
if(MenuCentered)ClcLft();
if(MenuVerticalCentered)ClcTp();
PosMenu(FrstCntnr,StartTop,StartLeft)}

function UnLoaded(){ // Disables menu when document gets unloaded
if(typeof(CloseTmr)!='undefined'&&CloseTmr)clearTimeout(CloseTmr);
Loadd=0; Creatd=0;
if(HideTop){
var FCStyle=(Nav4)?FrstCntnr:FrstCntnr.style;
FCStyle.visibility=M_Hide}}

function ReDoWhole(){ // Reloads after resize NS4 only
if(ScWinWdth!=ScLoc.innerWidth||ScWinHght!=ScLoc.innerHeight||FrstWinWdth!=FrstLoc.innerWidth||FrstWinHght!=FrstLoc.innerHeight)
Doc.location.reload()}

function Check(WMnu,NoOf){ // Checks menu tree
var i,Hg,Wd,La,Li,Nof,array,ArrayLoc;
ArrayLoc=(parent.frames[0])?parent.frames[FirstLineFrame]:self;
for(i=0;i<NoOf;i++){
array=WMnu+eval(i+1);
if(!ArrayLoc[array]){WbMstrAlrt(1,array); return false}
La=ArrayLoc[array][0]; Li=ArrayLoc[array][1]; Nof=ArrayLoc[array][3];
if(i==0){ if(!ArrayLoc[array][4]){WbMstrAlrt(2,array); return false}
if(!ArrayLoc[array][5]){WbMstrAlrt(3,array); return false}}
Hg=ArrayLoc[array][4]; Wd=ArrayLoc[array][5];
if(!WbMstrAlrt(4,'\n\n'+array+'\nwidth: '+Wd+'\nheight: '+Hg+'\nLabel: '+La+'\nLink: '+Li+'\nNo of sub items: '+Nof)){WebMasterCheck=0; return true}
if(ArrayLoc[array][3])if(!Check(array+'_',ArrayLoc[array][3])) return false}
return true}

function WbMstrAlrt(No,Xtra){
if(WebMasterCheck)return confirm(WbMstrAlrts[No]+Xtra+' ')}

function Go(){ // Main function
Dummy();
if(Loadd||!PosStrt)return;
BeforeStart();
Creatd=0; Loadd=1;
status='Building menu';
if(FrstCreat){
if(FirstLineFrame =="" || !parent.frames[FirstLineFrame]){WbMstrAlrt(0,FirstLineFrame); FirstLineFrame=SecLineFrame}
if(FirstLineFrame =="" || !parent.frames[FirstLineFrame]){WbMstrAlrt(0,SecLineFrame); FirstLineFrame=SecLineFrame=DocTargetFrame}
if(FirstLineFrame =="" || !parent.frames[FirstLineFrame]){WbMstrAlrt(0,DocTargetFrame); FirstLineFrame=SecLineFrame=DocTargetFrame=''}
if(SecLineFrame =="" || !parent.frames[SecLineFrame])SecLineFrame=DocTargetFrame;
if(SecLineFrame =="" || !parent.frames[SecLineFrame])SecLineFrame=DocTargetFrame=FirstLineFrame;
if(DocTargetFrame =="" || !parent.frames[DocTargetFrame])DocTargetFrame=SecLineFrame;
if(WebMasterCheck){if(!Check('Menu',NoOffFirstLineMenus))return;else WbMstrAlrt(5,'')}
FrstLoc=(FirstLineFrame!="")?parent.frames[FirstLineFrame]:window;
ScLoc=(SecLineFrame!="")?parent.frames[SecLineFrame]:window;
DcLoc=(DocTargetFrame!="")?parent.frames[DocTargetFrame]:window;
if (FrstLoc==ScLoc) AcrssFrms=0;
if (AcrssFrms)FirstLineHorizontal=(MenuFramesVertical)?0:1;
FrstWinWdth=(ExpYes)?FrstLoc.document.body.clientWidth:FrstLoc.innerWidth;
FrstWinHght=(ExpYes)?FrstLoc.document.body.clientHeight:FrstLoc.innerHeight;
ScWinWdth=(ExpYes)?ScLoc.document.body.clientWidth:ScLoc.innerWidth;
ScWinHght=(ExpYes)?ScLoc.document.body.clientHeight:ScLoc.innerHeight;
if(Nav4){CntrTxt=(MenuTextCentered!='left')?"<div align='"+MenuTextCentered+"'>":"";TxtClose="</font>"+(MenuTextCentered!='left')?"</div>":""}}
FirstColPos=(Nav4)?FrstLoc.document:FrstLoc.document.body;
SecColPos=(Nav4)?ScLoc.document:ScLoc.document.body;
DocColPos=(Nav4)?DcLoc.document:ScLoc.document.body;
if (TakeOverBgColor)FirstColPos.bgColor=(AcrssFrms)?SecColPos.bgColor:DocColPos.bgColor;
if(FrstCreat){FrstCntnr=CreateMenuStructure('Menu',NoOffFirstLineMenus);
FrstCreat=(AcrssFrms)?0:1}
else CreateMenuStructureAgain('Menu',NoOffFirstLineMenus);
if(TargetLoc)ClcTrgt();
if(MenuCentered) ClcLft();
if(MenuVerticalCentered) ClcTp();
PosMenu(FrstCntnr,StartTop,StartLeft);
IniFlg=1;Initiate();Creatd=1;
ScLdAgainWin=(ExpYes)?ScLoc.document.body:ScLoc;
ScLdAgainWin.onunload=UnLoaded;
//if(ExpYes)FrstLoc.document.body.onselectstart=CnclSlct;
Trigger.onresize=(Nav4)?ReDoWhole:RePos;
AfterBuild();
status='Menu ready for use'}

function ClcTrgt(){ // Calculates StartTop and Left when positioning is relative
var TLoc=(Nav4)?FrstLoc.document.layers[TargetLoc]:(DomYes)?FrstLoc.document.getElementById(TargetLoc):FrstLoc.document.all[TargetLoc];
StartTop=M_StrtTp; StartLeft=M_StrtLft;
StartTop+=(Nav4)?TLoc.pageY:TLoc.offsetTop;
StartLeft+=(Nav4)?TLoc.pageX:TLoc.offsetLeft}

function ClcLft(){ // Calculates StartTop and Left when menu is centered
if(MenuCentered!='left'){
var Size=FrstWinWdth-((!Nav4)?parseInt(FrstCntnr.style.width):FrstCntnr.clip.width);
StartLeft=M_StrtLft;
StartLeft+=(MenuCentered=='right')?Size:Size/2}}

function ClcTp(){ // Calculates StartTop and Left when menu is centered
if(MenuVerticalCentered!='top'){
var Size=FrstWinHght-((!Nav4)?parseInt(FrstCntnr.style.height):FrstCntnr.clip.height);
StartTop=M_StrtTp;
StartTop+=(MenuVerticalCentered=='bottom')?Size:Size/2}}

function PosMenu(CntnrPntr,Tp,Lt){ // Positions menu elements
var Topi,Lefti,Hori;
var Cntnr=CntnrPntr;
var Mmbr=Cntnr.FrstMbr;
var CntnrStyle=(!Nav4)?Cntnr.style:Cntnr;
var MmbrStyle=(!Nav4)?Mmbr.style:Mmbr;
var PadL=(Mmbr.value.indexOf('<')==-1)?LftXtra:0;
var PadT=(Mmbr.value.indexOf('<')==-1)?TpXtra:0;
var MmbrWt=(!Nav4)?parseInt(MmbrStyle.width)+PadL:MmbrStyle.clip.width;
var MmbrHt=(!Nav4)?parseInt(MmbrStyle.height)+PadT:MmbrStyle.clip.height;
var CntnrWt=(!Nav4)?parseInt(CntnrStyle.width):CntnrStyle.clip.width;
var CntnrHt=(!Nav4)?parseInt(CntnrStyle.height):CntnrStyle.clip.height;
var SubTp,SubLt;
RcrsLvl++;
if (RcrsLvl==1 && AcrssFrms)(!MenuFramesVertical)?Tp=FrstWinHght-CntnrHt+((Nav4)?4:0):Lt=(RightToLeft)?0:FrstWinWdth-CntnrWt+((Nav4)?4:0);
if (RcrsLvl==2 && AcrssFrms)(!MenuFramesVertical)?Tp=0:Lt=(RightToLeft)?ScWinWdth-CntnrWt:0;
if (RcrsLvl==2 && AcrssFrms){Tp+=VerCorrect;Lt+=HorCorrect}
CntnrStyle.top=(RcrsLvl==1)?Tp:0;Cntnr.OrgTop=Tp;
CntnrStyle.left=(RcrsLvl==1)?Lt:0; Cntnr.OrgLeft=Lt;
if (RcrsLvl==1 && FirstLineHorizontal){Hori=1; Lefti=CntnrWt-MmbrWt-2*BorderWidth;Topi=0}
else{Hori=Lefti=0; Topi=CntnrHt-MmbrHt-2*BorderWidth}
while(Mmbr!=null){
PadL=(Mmbr.value.indexOf('<')==-1)?LftXtra:0;
PadT=(Mmbr.value.indexOf('<')==-1)?TpXtra:0;
MmbrStyle.left=Lefti+BorderWidth;
MmbrStyle.top=Topi+BorderWidth;
if(Nav4)Mmbr.CmdLyr.moveTo(Lefti+BorderWidth,Topi+BorderWidth);
if(Mmbr.ChildCntnr){
if(RightToLeft)ChldCntnrWdth=(Nav4)?Mmbr.ChildCntnr.clip.width:parseInt(Mmbr.ChildCntnr.style.width);
if(Hori){ SubTp=Topi+MmbrHt+2*BorderWidth;
SubLt=(RightToLeft)?Lefti+MmbrWt-ChldCntnrWdth:Lefti}
else{ SubLt=(RightToLeft)?Lefti-ChldCntnrWdth+ChildOverlap*MmbrWt+BorderWidth:Lefti+(1-ChildOverlap)*MmbrWt+BorderWidth;
SubTp=(RcrsLvl==1&&AcrssFrms)?Topi:Topi+ChildVerticalOverlap*MmbrHt}
PosMenu(Mmbr.ChildCntnr,SubTp,SubLt)}
Mmbr=Mmbr.PrvMbr;
if(Mmbr){ MmbrStyle=(!Nav4)?Mmbr.style:Mmbr;
MmbrWt=(!Nav4)?parseInt(MmbrStyle.width)+PadL:MmbrStyle.clip.width;
MmbrHt=(!Nav4)?parseInt(MmbrStyle.height)+PadT:MmbrStyle.clip.height;
(Hori)?Lefti-=(BorderBtwnElmnts)?(MmbrWt+BorderWidth):(MmbrWt):Topi-=(BorderBtwnElmnts)?(MmbrHt+BorderWidth):(MmbrHt)}}
RcrsLvl–}

function Initiate(){ // Resets menu's visiblity
if(IniFlg){Init(FrstCntnr);IniFlg=0;if(ShwFlg)AfterCloseAll();ShwFlg=0}}

function Init(CntnrPntr){
var Mmbr=CntnrPntr.FrstMbr;
var MCStyle=(Nav4)?CntnrPntr:CntnrPntr.style;
RcrsLvl++;
MCStyle.visibility=(RcrsLvl==1)?M_Show:M_Hide;
CntnrPntr.Sflg=(RcrsLvl==1)?1:0;
while(Mmbr!=null){
if(Mmbr.ChildCntnr) Init(Mmbr.ChildCntnr);
Mmbr=Mmbr.PrvMbr}
RcrsLvl–}

function ClearAllChilds(Pntr,ChldPntr){ // Hides no longer wanted elements
var CPCCStyle;
while (Pntr){
if(Pntr.ChildCntnr&&Pntr.ChildCntnr.Sflg){
CPCCStyle=(Nav4)?Pntr.ChildCntnr:Pntr.ChildCntnr.style;
if(Pntr.ChildCntnr!=ChldPntr){CPCCStyle.visibility=M_Hide;Pntr.ChildCntnr.Sflg=0}
ClearAllChilds(Pntr.ChildCntnr.FrstMbr,ChldPntr)}
Pntr=Pntr.PrvMbr}}

function GoTo(){ // Triggered by mouse click
if(this.LinkTxt){
status='';
if(Nav4){if(this.LowLyr.LoBck)this.LowLyr.bgColor=this.LowLyr.LoBck;if(this.LowLyr.value.indexOf('<img')==-1){this.LowLyr.document.write(this.LowLyr.value);this.LowLyr.document.close()}}
else{if(this.LoBck)this.style.backgroundColor=this.LoBck; if(this.LwFntClr)this.style.color=this.LwFntClr}
(this.LinkTxt.indexOf('javascript:')!=-1)?eval(this.LinkTxt):DcLoc.location.href=this.LinkTxt}}

function OpenMenu(){ // Triggered by mouse over
if(!Loadd||!Creatd) return;
var TpScrlld=(ExpYes)?ScLoc.document.body.scrollTop:ScLoc.pageYOffset;
var LScrlld=(ExpYes)?ScLoc.document.body.scrollLeft:ScLoc.pageXOffset;
var CCnt=(Nav4)?this.LowLyr.ChildCntnr:this.ChildCntnr;
var ThisHt=(Nav4)?this.clip.height:parseInt(this.style.height);
var ThisWt=(Nav4)?this.clip.width:parseInt(this.style.width);
var ThisLft=(AcrssFrms&&this.Level==1&&!FirstLineHorizontal)?0:(Nav4)?this.Container.left:parseInt(this.Container.style.left);
var ThisTp=(AcrssFrms&&this.Level==1&&FirstLineHorizontal)?0:(Nav4)?this.Container.top:parseInt(this.Container.style.top);
var CRoll=(Nav4)?this.LowLyr.ro:this.ro;
CurrntOvr=this; IniFlg=0;
ClearAllChilds(this.Container.FrstMbr,CCnt);
if(CRoll){ if(Nav4)this.LowLyr.document.images[this.LowLyr.rid].src=this.LowLyr.ri2;
else {var Lc=(this.Level==1)?FrstLoc:ScLoc;Lc.document.images[this.rid].src=this.ri2}}
else{ if(Nav4){if(this.LowLyr.HiBck)this.LowLyr.bgColor=this.LowLyr.HiBck;if(this.LowLyr.value.indexOf('<img')==-1){this.LowLyr.document.write(this.LowLyr.Ovalue);this.LowLyr.document.close()}}
else{if(this.HiBck)this.style.backgroundColor=this.HiBck;if(this.HiFntClr)this.style.color=this.HiFntClr}}
if(CCnt!=null){
if(!ShwFlg){ShwFlg=1;BeforeFirstOpen()}
CCnt.Sflg=1;
var CCW=(Nav4)?this.LowLyr.ChildCntnr.clip.width:parseInt(this.ChildCntnr.style.width);
var CCH=(Nav4)?this.LowLyr.ChildCntnr.clip.height:parseInt(this.ChildCntnr.style.height);
var ChCntTL=(Nav4)?this.LowLyr.ChildCntnr:this.ChildCntnr.style;
var SubLt=(AcrssFrms&&this.Level==1)?CCnt.OrgLeft+ThisLft+LScrlld:CCnt.OrgLeft+ThisLft;
var SubTp=(AcrssFrms&&this.Level==1)?CCnt.OrgTop+ThisTp+TpScrlld:CCnt.OrgTop+ThisTp;
if(MenuWrap){
if(RightToLeft){if(SubLt<LScrlld)SubLt=(this.Level==1)?LScrlld:SubLt+(CCW+(1-2*ChildOverlap)*ThisWt);
if(SubLt+CCW>ScWinWdth+LScrlld)SubLt=ScWinWdth+LScrlld-CCW}
else{ if(SubLt+CCW>ScWinWdth+LScrlld)SubLt=(this.Level==1)?ScWinWdth+LScrlld-CCW:SubLt-(CCW+(1-2*ChildOverlap)*ThisWt);
if(SubLt<LScrlld)SubLt=LScrlld}
if(SubTp+CCH>TpScrlld+ScWinHght)SubTp=(this.Level==1)?SubTp=TpScrlld+ScWinHght-CCH:SubTp-CCH+(1-2*ChildVerticalOverlap)*ThisHt;
if(SubTp<TpScrlld)SubTp=TpScrlld}
ChCntTL.top=SubTp;ChCntTL.left=SubLt;ChCntTL.visibility=M_Show}
status=this.LinkTxt}

function OpenMenuClick(){ // Triggered by mouse over
if(!Loadd||!Creatd) return;
var CCnt=(Nav4)?this.LowLyr.ChildCntnr:this.ChildCntnr;
var CRoll=(Nav4)?this.LowLyr.ro:this.ro;
CurrntOvr=this; IniFlg=0;
ClearAllChilds(this.Container.FrstMbr,CCnt);
if(CRoll){ if(Nav4)this.LowLyr.document.images[this.LowLyr.rid].src=this.LowLyr.ri2;
else {var Lc=(this.Level==1)?FrstLoc:ScLoc;Lc.document.images[this.rid].src=this.ri2}}
else{ if(Nav4){if(this.LowLyr.HiBck)this.LowLyr.bgColor=this.LowLyr.HiBck;if(this.LowLyr.value.indexOf('<img')==-1){this.LowLyr.document.write(this.LowLyr.Ovalue);this.LowLyr.document.close()}}
else{if(this.HiBck)this.style.backgroundColor=this.HiBck;if(this.HiFntClr)this.style.color=this.HiFntClr}}
status=this.LinkTxt}

function CloseMenu(){ // Triggered by mouse out
if(!Loadd||!Creatd) return;
var CRoll=(Nav4)?this.LowLyr.ro:this.ro;
if(CRoll){ if(Nav4)this.LowLyr.document.images[this.LowLyr.rid].src=this.LowLyr.ri1;
else {var Lc=(this.Level==1)?FrstLoc:ScLoc;Lc.document.images[this.rid].src=this.ri1}}
else{ if(Nav4){if(this.LowLyr.LoBck)this.LowLyr.bgColor=this.LowLyr.LoBck;if(this.LowLyr.value.indexOf('<img')==-1){this.LowLyr.document.write(this.LowLyr.value);this.LowLyr.document.close()}}
else{if(this.LoBck)this.style.backgroundColor=this.LoBck;if(this.LwFntClr)this.style.color=this.LwFntClr}}
status='';
if(this==CurrntOvr){IniFlg=1;if (CloseTmr) clearTimeout(CloseTmr);CloseTmr=setTimeout('Initiate(CurrntOvr)',DissapearDelay)}}

function CntnrSetUp(Wdth,Hght,NoOff){ // Sets up layer that holds group of elements
var x=(RcrsLvl==1)?BorderColor:BorderSubColor;
this.FrstMbr=null;
this.OrgLeft=this.OrgTop=0;
this.Sflg=0;
if(x)this.bgColor=x;
if(Nav4){this.visibility='hide';this.resizeTo(Wdth,Hght)}
else{if(x)this.style.backgroundColor=x;
this.style.width=Wdth;
this.style.height=Hght;
this.style.fontFamily=FontFamily;
this.style.fontWeight=(FontBold)?'bold':'normal';
this.style.fontStyle=(FontItalic)?'italic':'normal';
this.style.fontSize=FontSize+'pt';
this.style.zIndex=RcrsLvl+Ztop}}

function MbrSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){ // Sets up element IE & NS6
var Location=(RcrsLvl==1)?FrstLoc:ScLoc;
var MemVal=eval(WhatMenu+'[0]');
var t,T,L,W,H,S;
var a,b,c,d;
this.PrvMbr=PrMmbr;
this.Level=RcrsLvl;
this.LinkTxt=eval(WhatMenu+'[1]');
this.Container=MmbrCntnr;
this.ChildCntnr=null;
this.style.overflow='hidden';
this.style.cursor=(ExpYes&&(this.LinkTxt||(RcrsLvl==1&&UnfoldsOnClick)))?'hand':'default';
this.ro=0;
if(MemVal.indexOf('rollover')!=-1){
this.ro=1;this.ri1=MemVal.substring(MemVal.indexOf(':')+1,MemVal.lastIndexOf(':'));
this.ri2=MemVal.substring(MemVal.lastIndexOf(':')+1,MemVal.length);
this.rid=WhatMenu+'i';MemVal="<img src='"+this.ri1+"' name='"+this.rid+"'>"}
this.value=MemVal;
if(RcrsLvl==1){a=LowBgColor; b=HighBgColor; c=FontLowColor; d=FontHighColor}
else {a=LowSubBgColor; b=HighSubBgColor; c=FontSubLowColor; d=FontSubHighColor}
this.LoBck=a;
this.LwFntClr=c;
this.HiBck=b;
this.HiFntClr=d;
this.style.color=this.LwFntClr;
if(this.LoBck)this.style.backgroundColor=this.LoBck;
this.style.textAlign=MenuTextCentered;
if(eval(WhatMenu+'[2]'))this.style.backgroundImage="url(\'"+eval(WhatMenu+'[2]')+"\')";
if(MemVal.indexOf('<')==-1){this.style.width=Wdth-LftXtra;this.style.height=Hght-TpXtra;
this.style.paddingLeft=LeftPaddng;this.style.paddingTop=TopPaddng}
else{ this.style.width=Wdth; this.style.height=Hght}
if(MemVal.indexOf('<')==-1&&DomYes){t=Location.document.createTextNode(MemVal);this.appendChild(t)}
else this.innerHTML=MemVal;
if(eval(WhatMenu+'[3]')){
S=(RcrsLvl==1&&FirstLineHorizontal)?'tridown.gif':(RightToLeft)?'trileft.gif':'tri.gif';
W=(RcrsLvl==1&&FirstLineHorizontal)?10:5;
H=(RcrsLvl==1&&FirstLineHorizontal)?5:10;
T=(RcrsLvl==1&&FirstLineHorizontal)?Hght-7:Hght/2-5;
L=(RcrsLvl==1&&FirstLineHorizontal)?Wdth-12:Wdth-7;
if(DomYes){t=Location.document.createElement('img'); this.appendChild(t); t.style.position='absolute'; t.src=S; t.style.width=W; t.style.height=H; t.style.top=T; t.style.left=L}
else{MemVal+="<div style='position:absolute; top:"+T+"; left:"+L+"; width:"+W+"; height:"+H+";visibility:inherit'><img src='"+S+"'></div>"; this.innerHTML=MemVal}}
if(ExpYes){
this.onmouseover=(RcrsLvl==1&&UnfoldsOnClick)?OpenMenuClick:OpenMenu;
this.onmouseout=CloseMenu;
this.onclick=(RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]'))?OpenMenu:GoTo}
else{
(RcrsLvl==1&&UnfoldsOnClick)?this.addEventListener('mouseover',OpenMenuClick,false):this.addEventListener('mouseover',OpenMenu,false);
this.addEventListener('mouseout',CloseMenu,false);
(RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]'))?this.addEventListener('click',OpenMenu,false):this.addEventListener('click',GoTo,false)}}

function NavMbrSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){ // Sets up element IE & NS6
var a,b,c,d;
if(RcrsLvl==1){a=LowBgColor; b=HighBgColor; c=FontLowColor; d=FontHighColor}
else {a=LowSubBgColor; b=HighSubBgColor; c=FontSubLowColor; d=FontSubHighColor}
this.value=eval(WhatMenu+'[0]');
this.ro=0;
if(this.value.indexOf('rollover')!=-1){
this.ro=1;this.ri1=this.value.substring(this.value.indexOf(':')+1,this.value.lastIndexOf(':'));
this.ri2=this.value.substring(this.value.lastIndexOf(':')+1,this.value.length);
this.rid=WhatMenu+'i';this.value="<img src='"+this.ri1+"' name='"+this.rid+"'>"}
if(LeftPaddng&&this.value.indexOf('<')==-1&&MenuTextCentered=='left')this.value=' \;'+this.value;
if(FontBold)this.value=this.value.bold();
if(FontItalic)this.value=this.value.italics();
this.Ovalue=this.value;
this.value=this.value.fontcolor©;
this.Ovalue=this.Ovalue.fontcolor(d);
this.value=CntrTxt+"<font face='"+FontFamily+"' point-size='"+FontSize+"'>"+this.value+TxtClose;
this.Ovalue=CntrTxt+"<font face='"+FontFamily+"' point-size='"+FontSize+"'>"+this.Ovalue+TxtClose;
this.LoBck=a;
this.HiBck=b;
this.ChildCntnr=null;
this.PrvMbr=PrMmbr;
this.visibility='inherit';
if(this.LoBck)this.bgColor=this.LoBck;
this.resizeTo(Wdth,Hght);
if(!AcrssFrms&&eval(WhatMenu+'[2]'))this.background.src=eval(WhatMenu+'[2]');
this.document.write(this.value);
this.document.close();
this.CmdLyr=new Layer(Wdth,MmbrCntnr);
this.CmdLyr.Level=RcrsLvl;
this.CmdLyr.LinkTxt=eval(WhatMenu+'[1]');
this.CmdLyr.visibility='inherit';
this.CmdLyr.onmouseover=(RcrsLvl==1&&UnfoldsOnClick)?OpenMenuClick:OpenMenu;
this.CmdLyr.onmouseout=CloseMenu;
this.CmdLyr.captureEvents(Event.MOUSEUP);
this.CmdLyr.onmouseup=(RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]'))?OpenMenu:GoTo;
this.CmdLyr.LowLyr=this;
this.CmdLyr.resizeTo(Wdth,Hght);
this.CmdLyr.Container=MmbrCntnr;
if(eval(WhatMenu+'[3]')){
this.CmdLyr.ImgLyr=new Layer(10,this.CmdLyr);
this.CmdLyr.ImgLyr.visibility='inherit';
this.CmdLyr.ImgLyr.top=(RcrsLvl==1&&FirstLineHorizontal)?Hght-7:Hght/2-5;
this.CmdLyr.ImgLyr.left=(RcrsLvl==1&&FirstLineHorizontal)?Wdth-12:Wdth-7;
this.CmdLyr.ImgLyr.width=(RcrsLvl==1&&FirstLineHorizontal)?10:5;
this.CmdLyr.ImgLyr.height=(RcrsLvl==1&&FirstLineHorizontal)?5:10;
ImgStr=(RcrsLvl==1&&FirstLineHorizontal)?"<img src='tridown.gif'>":(RightToLeft)?"<img src='trileft.gif'>":"<img src='tri.gif'>";
this.CmdLyr.ImgLyr.document.write(ImgStr);
this.CmdLyr.ImgLyr.document.close()}}

function CreateMenuStructure(MName,NumberOf){
RcrsLvl++;
var i,NoOffSubs,Mbr,Wdth=0,Hght=0;
var PrvMmbr=null;
var WMnu=MName+'1';
var MenuWidth=eval(WMnu+'[5]');
var MenuHeight=eval(WMnu+'[4]');
var Location=(RcrsLvl==1)?FrstLoc:ScLoc;
if (RcrsLvl==1&&FirstLineHorizontal){
for(i=1;i<NumberOf+1;i++){WMnu=MName+eval(i);Wdth=(eval(WMnu+'[5]'))?Wdth+eval(WMnu+'[5]'):Wdth+MenuWidth}
Wdth=(BorderBtwnElmnts)?Wdth+(NumberOf+1)*BorderWidth:Wdth+2*BorderWidth;Hght=MenuHeight+2*BorderWidth}
else{ for(i=1;i<NumberOf+1;i++){WMnu=MName+eval(i);Hght=(eval(WMnu+'[4]'))?Hght+eval(WMnu+'[4]'):Hght+MenuHeight}
Hght=(BorderBtwnElmnts)?Hght+(NumberOf+1)*BorderWidth:Hght+2*BorderWidth;Wdth=MenuWidth+2*BorderWidth}
if(DomYes){
var MmbrCntnr=Location.document.createElement("div");
MmbrCntnr.style.position='absolute';
MmbrCntnr.style.visibility='hidden';
Location.document.body.appendChild(MmbrCntnr)}
else if(Nav4) var MmbrCntnr=new Layer(Wdth,Location)
else{ WMnu+='c';
Location.document.body.insertAdjacentHTML("AfterBegin","<div id='"+WMnu+"' style='visibility:hidden; position:absolute;'><\/div>");
var MmbrCntnr=Location.document.all[WMnu]}
MmbrCntnr.SetUp=CntnrSetUp;
MmbrCntnr.SetUp(Wdth,Hght,NumberOf);
if(Exp4){ MmbrCntnr.InnerString='';
for(i=1;i<NumberOf+1;i++){
WMnu=MName+eval(i);
MmbrCntnr.InnerString+="<div id='"+WMnu+"' style='position:absolute;'><\/div>"}
MmbrCntnr.innerHTML=MmbrCntnr.InnerString}
for(i=1;i<NumberOf+1;i++){
WMnu=MName+eval(i);
NoOffSubs=eval(WMnu+'[3]');
Wdth=(RcrsLvl==1&&FirstLineHorizontal)?(eval(WMnu+'[5]'))?eval(WMnu+'[5]'):MenuWidth:MenuWidth;
Hght=(RcrsLvl==1&&FirstLineHorizontal)?MenuHeight:(eval(WMnu+'[4]'))?eval(WMnu+'[4]'):MenuHeight;
if(DomYes){Mbr=Location.document.createElement("div");
Mbr.style.position='absolute';
Mbr.style.visibility='inherit';
MmbrCntnr.appendChild(Mbr)}
else Mbr=(Nav4)?new Layer(Wdth,MmbrCntnr):Location.document.all[WMnu];
Mbr.SetUp=(Nav4)?NavMbrSetUp:MbrSetUp;
Mbr.SetUp(MmbrCntnr,PrvMmbr,WMnu,Wdth,Hght);
if(NoOffSubs) Mbr.ChildCntnr=CreateMenuStructure(WMnu+'_',NoOffSubs);
PrvMmbr=Mbr}
MmbrCntnr.FrstMbr=Mbr;
RcrsLvl–;
return(MmbrCntnr)}

function CreateMenuStructureAgain(MName,NumberOf){
var i,WMnu,NoOffSubs;
var PrvMmbr,Mbr=FrstCntnr.FrstMbr;
RcrsLvl++;
for(i=NumberOf;i>0;i–){
WMnu=MName+eval(i);
NoOffSubs=eval(WMnu+'[3]');
PrvMmbr=Mbr;
if(NoOffSubs)Mbr.ChildCntnr=CreateMenuStructure(WMnu+'_',NoOffSubs);
Mbr=Mbr.PrvMbr}
RcrsLvl–}
_____________________________________________________________________________________________
Буду благодарен за совет.
Поможете-могу дать более 500 пассов к аккаунтам к элитным }{}{}{-сайтам.
Спасибо
Post #: 1
RE: Проблема с корректным отображением русскоязычных символов - 2008-02-10 15:29:26.990000   
AdReNaL1Ne

Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
Слушай Крэша больше.

Для оформления такого кол-ва кода мог бы воспользоваться тэгами code, это раз. Во-вторых попробуй кодировку windows-1251
Post #: 2
RE: Проблема с корректным отображением русскоязычных символов - 2008-02-10 22:15:45.190000   
Mega_пердюндель

Сообщений: 55
Оценки: 0
Присоединился: 2008-01-26 16:36:38.246666
Адр,спасибо за внимание.
Поменял на windows-1251, теперь шапка отображается корректно….Но,сама страница русский не понимает…
Пробовал и koi-8,UTF-8, не помогает..
Есть ли такая кодировка,при которой и шапка и сама страница будут корректно отображать "русские" символы?
________________________________________________________________________________________________
Адр, так весь этот код написан не в самом index.html, в нем есть только это:
<script language="JavaScript">
<!–
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// –>
</script>

это в начале страницы, в контейнере &lt;head&gt;&lt;/head&gt;
а вот в конце:
<script type='text/javascript'>

//HV Menu- by Ger Versluis (http://www.burmees.nl/)
//Submitted to Dynamic Drive (http://www.dynamicdrive.com)
//Visit http://www.dynamicdrive.com for this script and more

function Go(){return}

</script>

Т.е.,как я понимаю эти скрипты ссылаются на фалы exmplmenu_var.js,menu_com.js.
И еще,вопрос:
-Существует ли такой тэг, который позволяет установить для участка кода в html определенную кодировку?
И почему опера все прекрасно понимает,а ие и лис-нет?
Спасибо большое
Post #: 3
RE: Проблема с корректным отображением русскоязычных символов - 2008-02-11 04:01:22.440000   
Jifer

Сообщений: 37
Оценки: 0
Присоединился: 2008-01-18 12:38:19.600000
<head> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> </head>
Post #: 4
RE: Проблема с корректным отображением русскоязычных символов - 2008-02-11 10:31:44.810000   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
да просто все файлы нужно сохранять в 1 кодировке и в шапке ее указывать.
Post #: 5
RE: Проблема с корректным отображением русскоязычных символов - 2008-02-11 11:01:53.053333   
Mega_пердюндель

Сообщений: 55
Оценки: 0
Присоединился: 2008-01-26 16:36:38.246666
Вы неправильно меня понимаете.
Шапка написана на JavaScript,разделы на русском.И текст на самой странице тоже русский.
Проблема с кодировками.
Ставлю одну-неправильно отображается шапка, текст-нормально.
Ставлю другую кодировку-шапка отображается правильно, текст-неверно,вместо русскоязычных символов какие-то иероглифы
Post #: 6
RE: Проблема с корректным отображением русскоязычных символов - 2008-02-11 12:49:20.103333   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
это скорее всего из-за того, что файлы в разных кодировках сохранены
прикрепи свой шаблон с посту, лучше разобратся, а не гадать.
Post #: 7
RE: Проблема с корректным отображением русскоязычных символов - 2008-02-11 15:28:40.210000   
Jifer

Сообщений: 37
Оценки: 0
Присоединился: 2008-01-18 12:38:19.600000
Скинь линк на шаблон.
Post #: 8
RE: Проблема с корректным отображением русскоязычных символов - 2008-02-11 17:51:28.053333   
Mega_пердюндель

Сообщений: 55
Оценки: 0
Присоединился: 2008-01-26 16:36:38.246666
http://www.internet-technologies.ru/templates/template_20.html?download
Post #: 9
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Проблема с корректным отображением русскоязычных символов







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.