|
Частичное динамическое обновление веб-страницы |
|
|
|
Feb 5 2015, 12:39
|
Участник

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

|
Все получилось, создал простую заготовку, использовал jquery, также получилось график построить. Может кто-то тоже не будет знать как и с чего начать, выкладываю заготовку. Теперь пробую создать динамическую страницу, то есть чтоб МК сам строил страницу
Сообщение отредактировал vovanxp - Feb 5 2015, 12:39
|
|
|
|
|
Feb 12 2015, 12:16
|
Участник

Группа: Участник
Сообщений: 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'); тогда вместо русских букв симфолы �
|
|
|
|
|
Feb 12 2015, 13:45
|
Участник

Группа: Участник
Сообщений: 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>");
|
|
|
|
|
Feb 12 2015, 19:23
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
Feb 13 2015, 05:14
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
Feb 17 2015, 08:27
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
Feb 17 2015, 20:29
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417

|
Цитата(vovanxp @ Feb 17 2015, 11:27)  Давайте... Вот тут похоже Ваша проблема обсуждалась траблы jQuery (читать последнии два топика) Если бы всё сделали в рукопашную (там функция на 50 строчек) то проблем бы собственно и не было бы... А со слоном в стеклянной лавке - вот посуда и полетела... имхо если с чёрным ящиком не получится = вектор прежний "XMLHttpRequest"
|
|
|
|
|
Feb 18 2015, 06:47
|
Гуру
     
Группа: Свой
Сообщений: 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; } } } } }
|
|
|
|
|
Feb 19 2015, 00:13
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 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; } } } } Сишный стиль - то привычка  но вызовы которые могут вызвать падёж - лучше в трай-кэтч. И разные активИкс - то под разны броузеры. Это создаётся один объект связи для асинхронного обращения к серваку. Ну и универсальная функция приёма-передачи. Там собственно всегда одно и то-же, только обработчик для парсинга - разные, передаётся как параметр в обработчик.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|