Автор |
|
anonymousСря, 16.01.08, 12:47 |
Проблема е следния: Отварях сайта през ФФ и кирилицата беше = ????? като добавих xmlHttp.overrideMimeType('text/xml; charset=windows-1251'); кирилицата под ФФ се оправи, а през ИЕ изобщо не се отварят линковете. Ето кода: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="bg" lang="bg">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=charset=windows-1251" />
</head>
<script type="text/javascript">
function other(str)
{
if(str.length == 0)
{
document.getElementById("container").innerHTML="";
return;
}
else
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Вашият browsew не поддържа AJAX!");
return;
}
if (str == 1)
{
var url="fail1.html";
}
if (str == 2)
{
var url="fail2.html";
}
if (str == 3)
{
var url="fail3.html";
}
xmlHttp.overrideMimeType('text/xml; charset=windows-1251');
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
function stateChanged()
{
if (xmlHttp.readyState==4)
{
var result = xmlHttp.responseText;
document.getElementById("container").innerHTML=result;
}
}
</script>
<body>
<a href="javascript: other(1);">1</a> || <a href="javascript: other(2);">2</a> || <a href="javascript: other(3);">3</a><br>
<div id='container'></div> |
|
|
hirokoСря, 16.01.08, 13:50 |
Аз не знам това ли е нещото да пречи. Обаче виждам да не е затворен <body> тагът. Или може да не е копиран само? |
|
anonymousСря, 16.01.08, 14:01 | RE: Проблем с ИЕ
” Аз не знам това ли е нещото да пречи. Обаче виждам да не е затворен <body> тагът. Или може да не е копиран само? „ просто не съм го копрала до края |
|
hirokoСря, 16.01.08, 14:22 |
Да. Така мислих и аз. Аз не зная как е правилно да трябва да се вижда това. Аз виждам числа 1 2 и 3 като линкове и нищо друго няма. Еднакакво се вижда в IE и FF. И обаче линковете нищо не правят. |
|
anonymousСря, 16.01.08, 20:05 |
В IDE (Integrated Development Environment) или иначе казано, програмата, която използваш да си пишеш кода за веб страниците Default Character, или поне тоя за съответната страница, трябва да е зададен на съответната кодова таблица, която желаеш. |
|
anonymousСря, 16.01.08, 20:25 | RE: Проблем с ИЕ
” В IDE (Integrated Development Environment) или иначе казано, програмата, която използваш да си пишеш кода за веб страниците Default Character, или поне тоя за съответната страница, трябва да е зададен на съответната кодова таблица, която желаеш. „ Обясни малко повече, ако имаш време. |
|
anonymousСря, 16.01.08, 21:04 |
Идеята е следната. Като запишеш кода си като файл (примерно index.html) и кодовата таблица на IDE то ти е била да кажем на UTF-8 и след това се опиташ да го отвориш с IE като в meta тага е посочена кодова таблица cp-1251 практически се получава, че се виждат ????? или "маймунджулъци" Самата промяна на кодовата таблица може да се направи за съответния файл (страница) в която си в момента или по подразбиране за всички. Зависимост от предпочитанията ти. Тази промяна я правиш от настройките на IDE то (програмата), която използваш за да пишеш код. Примерно аз ползвам Quanta Plus или Zend Studio като за първата нещата изглеждат нещо такова snapshot1.pngsnapshot2.pngПросто трябва да зададеш в IDE то си такава кодова таблица, каквато ще използваш и в самата веб страница. За да не си играеш да преписваш кода си отново в подходящата кодова таблица (най - вече частта му с българския език) отвори си страницата да кажем с notepad(e) и чрез него я запиши пак. Така, понеже си на Windows, тя автоматично ще се преобразува в cp-1251 (кодовата таблица използвана от Windows по подразбиране). |
|
anonymousСря, 16.01.08, 23:00 |
Инсталирах си Zend Studio и избрах на Encoding: windows-1251 после пренаписах страниците (copy-paste), но няма ефект пак кирилицата е ??????. Опитах и с отваряне с notepade и презаписване, но пак не стана. :( |
|
anonymousСря, 16.01.08, 23:08 | RE: Проблем с ИЕ
” Инсталирах си Zend Studio и избрах на Encoding: windows-1251 после пренаписах страниците (copy-paste), но няма ефект пак кирилицата е ??????. Опитах и с отваряне с notepade и презаписване, но пак не стана. :( „ Отворих файловете с Notepad и после File->Save as и от долу на enkoding избрах Utf-8 и се оправи. |
|
anonymousСря, 16.01.08, 23:25 |
c 2думи xmlHttp.overrideMimeType('text/xml; charset=windows-1251') не работи или мястото му е малко по-нагоре, щом "Отварях сайта през ФФ и кирилицата беше = ????? като добавих xmlHttp.overrideMimeType('text/xml; charset=windows-1251'); кирилицата под ФФ се оправи, а през ИЕ изобщо не се отварят линковете" ? |
|
anonymousПет, 18.01.08, 10:14 |
Идеята ми е, че като добавим control echo/alert за debug,ce вижда, че винаги минава през try-блока за Firefox, независимо от браузъра: затова за лиско се е оправило: function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
// document.write("Fire Fox , Opera,Safari");
alert("Fire Fox , Opera,Safari");
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
// document.write("Internet Explorer");
alert("Internet Explorer");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
// document.write("Internet Explorer");
alert("Internet Explorer");
}
}
return xmlHttp;
} |
ActiveXObject("Msxml2.XMLHTTP") & ActiveXObject("Microsoft.XMLHTTP") не се изпълняват за IE. 3апазването като уникоде файл не решава проблема!
|
|
anonymousСъб, 19.01.08, 12:52 |
нз дали това ще ти помогне но забелязах това <meta http-equiv="Content-Type" content="text/html; [color=red]charset=charset=windows-1251"[/color] /> |
защо има 2 пъти charset? Дано ти помогне :) |
|
anonymousСъб, 19.01.08, 23:57 | RE: Проблем с ИЕ
” нз дали това ще ти помогне но забелязах това <meta http-equiv="Content-Type" content="text/html; [color=red]charset=charset=windows-1251"[/color] /> |
защо има 2 пъти charset? Дано ти помогне :) „ Грешката е моя , но не в това беше проблема. |
|