Я использую микроконтроллер от микрочипа с встроенным веб-сервером для управления (микроконтроллер GPIO) через его веб-интерфейс. Веб-интерфейс использует JS и AJAX для обновления статуса GPIO и управления ими без обновления страницы. Теперь я хотел бы создать мобильное приложение, в котором пользователь должен ввести IP-адрес микроконтроллера и управлять им через встроенный фрейм веб-просмотра. Он работает хорошо, но у меня проблема со скоростью загрузки. Полная загрузка страницы занимает больше минуты. Итак, я думаю о лучшем решении для кеширования всего сайта. Когда я сохраняю страницу на своем компьютере из браузера, он дает мне файл html и несколько исходных файлов css и js. Когда я открываю страницу html, интерфейс отображается правильно, но, очевидно, не подключается к микроконтроллеру.
Может ли кто-нибудь сказать мне, где я должен вводить URL-адрес микроконтроллера во всех моих сохраненных исходных файлах?
NB: Я не делаю этого, если это полезно, ниже, если это часть исходного файла JS, который запускает ajax. Интересно, не следует ли мне указывать путь микроконтроллера вместо параметра «url».
/**
* Initiates a new AJAX command
*
* @param the url to access
* @param the document ID to fill, or a function to call with response XML (optional)
* @param true to repeat this call indefinitely (optional)
* @param a URL encoded string to be submitted as POST data (optional)
*/
function newAJAXCommand(url, container, repeat, data)
{
// Set up our object
var newAjax = new Object();
var theTimer = new Date();
newAjax.url = url;
newAjax.container = container;
newAjax.repeat = repeat;
newAjax.ajaxReq = null;
// Create and send the request
if(window.XMLHttpRequest) {
newAjax.ajaxReq = new XMLHttpRequest();
newAjax.ajaxReq.open((data==null)?"GET":"POST", newAjax.url, true);
newAjax.ajaxReq.send(data);
// If we're using IE6 style (maybe 5.5 compatible too)
} else if(window.ActiveXObject) {
newAjax.ajaxReq = new ActiveXObject("Microsoft.XMLHTTP");
if(newAjax.ajaxReq) {
newAjax.ajaxReq.open((data==null)?"GET":"POST", newAjax.url, true);
newAjax.ajaxReq.send(data);
}
}```