реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Частичное динамическое обновление веб-страницы
vovanxp
сообщение Feb 5 2015, 12:39
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-10-11
Пользователь №: 68 026



Все получилось, создал простую заготовку, использовал jquery, также получилось график построить.
Может кто-то тоже не будет знать как и с чего начать, выкладываю заготовку.

Теперь пробую создать динамическую страницу, то есть чтоб МК сам строил страницу

Сообщение отредактировал vovanxp - Feb 5 2015, 12:39
Прикрепленные файлы
Прикрепленный файл  Fs_05022015.rar ( 48.12 килобайт ) Кол-во скачиваний: 29
 
Go to the top of the page
 
+Quote Post
vovanxp
сообщение Feb 12 2015, 12:16
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-10-11
Пользователь №: 68 026



Не могу найти решение проблемки.

Keil uVision5, в настройках кодировка ANSI

Во всех страничках прописано
<meta http-equiv="content-language" lang="ru" />
<meta http-equiv="content-type" content="text/html; charset=windows-1251">


Если заходить на страничку напрямую http://192.168.5.38/LED.html, то все ОК, а если подтягивать через jQuery('#tabl').load('LED.html');
тогда вместо русских букв симфолы �
Go to the top of the page
 
+Quote Post
scifi
сообщение Feb 12 2015, 12:22
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(vovanxp @ Feb 12 2015, 15:16) *
<meta http-equiv="content-type" content="text/html; charset=windows-1251">

Это надо прописывать в заголовках HTTP:
Content-Type: text/html; charset=windows-1251
Go to the top of the page
 
+Quote Post
vovanxp
сообщение Feb 12 2015, 13:45
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-10-11
Пользователь №: 68 026



Цитата(scifi @ Feb 12 2015, 16:22) *
Это надо прописывать в заголовках HTTP:
Content-Type: text/html; charset=windows-1251

Так и есть

HTTP_Send_String(pcb, hs, "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head>");
HTTP_Send_String(pcb, hs, "<meta http-equiv=\"content-language\" lang=\"ru\" />");
HTTP_Send_String(pcb, hs, "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">");
HTTP_Send_String(pcb, hs, "</head>");
Go to the top of the page
 
+Quote Post
scifi
сообщение Feb 12 2015, 14:31
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(vovanxp @ Feb 12 2015, 16:45) *
Так и есть

<meta> - это суррогат, потому он и не работает.
Настоящие заголовки HTTP не являются частью документа HTML.
RTFM
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Feb 12 2015, 15:35
Сообщение #21


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(vovanxp @ Feb 12 2015, 15:16) *
Не могу найти решение проблемки....


разделите проблему на части. выясните где именно не совпадает кодировка.
обычно такое бывает, если исходный текст написан в кодировке отличной от той, что указана в заголовке страницы.
Go to the top of the page
 
+Quote Post
vovanxp
сообщение Feb 12 2015, 19:23
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-10-11
Пользователь №: 68 026



Цитата(kolobok0 @ Feb 12 2015, 19:35) *
разделите проблему на части. выясните где именно не совпадает кодировка.
обычно такое бывает, если исходный текст написан в кодировке отличной от той, что указана в заголовке страницы.

Исходный текст формируется на лету в коде, то есть страница заранее не скомпилирована, это страница /LED.html.
На напрямую страница отображается правильно http://192.168.5.38/LED.html

А index.shtml кодится с помощью makefsdata.exe

Сообщение отредактировал vovanxp - Feb 12 2015, 19:26
Go to the top of the page
 
+Quote Post
uriy
сообщение Feb 13 2015, 04:55
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



У меня тоже бывали проблемы с кодировкой. Перешел на utf-8 все стало нормально.
Go to the top of the page
 
+Quote Post
vovanxp
сообщение Feb 13 2015, 05:14
Сообщение #24


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-10-11
Пользователь №: 68 026



Цитата(uriy @ Feb 13 2015, 07:55) *
У меня тоже бывали проблемы с кодировкой. Перешел на utf-8 все стало нормально.

Тогда в keil нужно выставить в настройках utf-8 соответсвено русской язык не будет правильно отображается.
Попробуюю сделать по-другому шапку и подвал брать из файлов а таблицу генерыровать в коде


P.S. А не тогда придется всю страницу тянуть

Сообщение отредактировал vovanxp - Feb 13 2015, 12:18
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Feb 15 2015, 10:22
Сообщение #25


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(vovanxp @ Feb 13 2015, 08:14) *
Тогда...


локаль со стороны сервака на обработчике выставляете или нет?

Go to the top of the page
 
+Quote Post
vovanxp
сообщение Feb 17 2015, 08:27
Сообщение #26


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 28-10-11
Пользователь №: 68 026



Давайте я лучше всю инфу напишу.
keil настройках utf-8, подменен UvEdit.dll, иначе русский не отображается.

LED.html подтягивается с index.html


В броузере отображается так на скриншоте
Исходные коды страниц сохранные из броузера

Сообщение отредактировал vovanxp - Feb 17 2015, 19:17
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  index.htm ( 2.54 килобайт ) Кол-во скачиваний: 9
Прикрепленный файл  LED.html ( 354 байт ) Кол-во скачиваний: 12
 
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Feb 17 2015, 20:29
Сообщение #27


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(vovanxp @ Feb 17 2015, 11:27) *
Давайте...


Вот тут похоже Ваша проблема обсуждалась

траблы jQuery (читать последнии два топика)

Если бы всё сделали в рукопашную (там функция на 50 строчек) то проблем бы собственно и не было бы...
А со слоном в стеклянной лавке - вот посуда и полетела...
имхо если с чёрным ящиком не получится = вектор прежний "XMLHttpRequest"
Go to the top of the page
 
+Quote Post
scifi
сообщение Feb 18 2015, 06:47
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(kolobok0 @ Feb 17 2015, 23:29) *
Если бы всё сделали в рукопашную (там функция на 50 строчек) то проблем бы собственно и не было бы...
А со слоном в стеклянной лавке - вот посуда и полетела...
имхо если с чёрным ящиком не получится = вектор прежний "XMLHttpRequest"

+1. Вот до чего доводит вредная привычка всюду тащить "библиотеки" по поводу и без повода.
Голый жабаскрипт и HTML - очень адекватное решение. Любой вопрос по этой теме разжёван в инете 50 раз и гуглится за секунду.
Кстати, у меня 55 строчек :-)
CODE
window.onload = refInit;
var timeout;

var refXmlHttp;

function refInit()
{
timeout = 1000 * document.getElementById("refrate").firstChild.nodeValue;
refXmlHttp = new XMLHttpRequest();
refXmlHttp.onreadystatechange = refOnLoad;
if (timeout != 0)
{
setTimeout("refSendRequest()", timeout);
}
}

function refSendRequest()
{
refXmlHttp.open("GET", "/mondata.xml", true);
refXmlHttp.send(null);
}

function refOnLoad()
{
if (refXmlHttp.readyState == 4) // 4 = "loaded"
{
if (refXmlHttp.status == 200) // 200 = OK
{
refIterateAll();
if (timeout != 0)
{
setTimeout("refSendRequest()", timeout);
}
}
}
}

function refIterateAll()
{
var nodes = refXmlHttp.responseXML.documentElement.childNodes;
for (var i = 0; i < nodes.length; i++)
{
for (var item = nodes.item(i).firstChild; item; item = item.nextSibling)
{
if (item.parentNode.nodeName == "values")
{
var target = document.getElementById(item.nodeName);
if (target)
{
target.firstChild.nodeValue = item.firstChild.nodeValue;
}
}
}
}
}
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Feb 19 2015, 00:13
Сообщение #29


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



ОФФ/2:

Цитата(scifi @ Feb 18 2015, 09:47) *
CODE
...
function refInit()
{
timeout = 1000 * document.getElementById("refrate").firstChild.nodeValue;
refXmlHttp = new XMLHttpRequest();
refXmlHttp.onreadystatechange = refOnLoad;
if (timeout != 0)
{
setTimeout("refSendRequest()", timeout);
}
}
...


Не совсем универсальное решение. На просторах инета накопал в своё время более универсальную приблуду...

Код
function createRequestObject()
{
    try
    {
        return new XMLHttpRequest()
    }
    catch (e)
    {
        try
        {
            return new ActiveXObject('Msxml2.XMLHTTP')
        }
        catch(e)
        {
            try
            {
                return new ActiveXObject('Microsoft.XMLHTTP')
            }
            catch(e)
            {
                return null;
            }
        }
    }
}


Сишный стиль - то привычка sm.gif но вызовы которые могут вызвать падёж - лучше в трай-кэтч. И разные активИкс - то под разны броузеры. Это создаётся один объект связи для асинхронного обращения
к серваку. Ну и универсальная функция приёма-передачи. Там собственно всегда одно и то-же, только обработчик для парсинга - разные, передаётся как параметр в обработчик.

Go to the top of the page
 
+Quote Post
scifi
сообщение Feb 19 2015, 07:27
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(kolobok0 @ Feb 19 2015, 03:13) *
Не совсем универсальное решение. На просторах инета накопал в своё время более универсальную приблуду...

А я намеренно срезал всю эту хрень. Если у юзверя стоит IE6, то он сам дурак. В нормальных браузерах всё работает, а большего мне и не надо.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 19:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01468 секунд с 7
ELECTRONIX ©2004-2016