Стартовая страница › Форумы › Разработка и интеграция › Пользовательские веб-страницы
- В этой теме 75 ответов, 10 участников, последнее обновление 3 месяца назад сделано
a80808.
-
АвторСообщения
-
25.06.2019 в 19:28 #12461
Mikhail
МодераторПрописал путь custom/index.html — не помогает
Не помогает, это означает, что в дереве ссылка не кликабельна? Если да, то запишите так:
custom/index.html@WebPageView26.06.2019 в 04:39 #12473Taw
УчастникНе помогает, это означает, что в дереве ссылка не кликабельна. Прописал по вашему примеру и ссылка стала кликабельна.
1) Но почему не отображается содержимое веб-страницы (обычный текст вставленный в тег body)?
2) Какие требования к встраиваемым веб-страницам?
3) Можете привести пример простой встраиваемой html страницы?26.06.2019 в 05:41 #12474baur
Участникпопробуй поместить файл в папку SCADA\ScadaWeb\plugins\WebPage и пропиши index.html@WebPageView
-
Этот ответ был изменен 5 лет, 9 месяцев назад от
baur.
26.06.2019 в 08:39 #12482manjey73
УчастникФайл надо кидать куда указал baur, но еще туда можно кинуть файл с редиректом. Вот только работать будет только внутри сети или наоборот извне, а внутри не будет.
Хотя есть и тут выход, если позволяет роутер…
Я так открывал страницу Ethernet — RS485 преобразователя в окне Scada.з.ы. как? не подскажу, надо искать те файлики, которые ковырял, а то усе почти погибло с винтом 🙂
В редирект указывается внешний адрес роутера, проброс на web нужного устройства (по сути страницы), а в роутере настраивается Loop back на интерфейсе, когда стучишься на собственный же внешний адрес изнутри сети.
26.06.2019 в 10:01 #12484Mikhail
МодераторНо почему не отображается содержимое веб-страницы
Какая ошибка?
27.06.2019 в 06:00 #12515Taw
УчастникОшибка в хроме была.
Failed to load resource: the server responded with a status of 404 (Not Found)
Uncaught Error at contentscript.js:1
в опере была
http://localhost/Scada/plugins/WebPage/custom/index.html 404 (Not Found)
В хроме не четкое описание ошибки и я не мог устранить. А в опере детальное описание. В принципе если бы я пользовался оперой, то мог бы устранить. Но из за хрома я не понимал в чем дело.
Сделал согласно «Baur» и нет ошибки. Просто хочу на чистом html и javascript отображать графики и панели приборов (примеры моей самоделки панели приборов и мониторинга, графиков можно сколько хочешь и любого типа со всей статистикой).
Вопрос. Мне нужно данные из каналов преобразовать в js переменную. В примере PlgTable как иголку в стоге сена искать. Можете привести простой div и как с помощью JS API заполнить этот div. Или как преобразовать данные с каналов в javaScript объект?27.06.2019 в 09:50 #12520Mikhail
МодераторFailed to load resource: the server responded with a status of 404 (Not Found)
Uncaught Error at contentscript.js:1На закладке Сеть можно увидеть по какому адресу Хром пытается найти страницу. И понять, относительно какой корневой директории происходит поиск. Соответственно подкорректировать путь в базе конфигурации.
27.06.2019 в 09:52 #12521Mikhail
МодераторИголка в стоге сена. Другого примера у меня сейчас нет, если появится — выложу.
29.06.2019 в 06:32 #12583Taw
УчастникЯ взял за основу табличное представление из проекта DemoProject
«<div id=»divTblWrapper» class=»table-wrapper»>
<table>
<tr class=’hdr’>
<td class=’cur’><span>Current</span></td><td class=’hour hidden’ data-hour=’-24′></td>
</tr>
<tr class=’item’ data-cnl=’104′>
<td class=’cur’>
</tr>
<tr class=’item alt’ data-cnl=’611′>
<td class=’cur’></td>
</tr>
<tr class=’item’ data-cnl=’103′>
<td class=’cur’></td>
</tr>
<tr class=’item’ data-cnl=’105′>
<td class=’cur’></td>
</tr>
</table>»
изменил канал 102 на мой созданный 611. Почему не выводятся значения в Html форму? Хотя для всех остальных каналов, которые созданы в табличном представлении (этого проекта) я могу менять номера и все работает?29.06.2019 в 12:13 #12586Taw
УчастникВопросы по проекту PlgTable. В файле Table.aspx.cs в методе GenerateTableViewHtml на основе C# формируется html разметка таблицы в которую затем будут выводиться значения каналов. Этот метод вызывается в PageLoad (файл Table.aspx.cs). Который формирует tableViewHtml. Table.aspx вставляет <%= tableViewHtml %> в веб страницу.
В теге head (Table.aspx файл страницы) подключается table.js
<script type=»text/javascript» src=»js/table.js»></script>
В файле table.js
в $(document).ready(function ()
имеется вызов функции startUpdatingCurData();
Которая вызывает функцию getCurCnlDataExt (функция для Get extended current data ) из clientAPI.js. функция updateCurData (Request and display current data) из table.js отвечает за отображение данных из канала. Эта функция вызывает функцию displayCellData (Display the given data in the cell).
Вопросы:
1) Я не могу манипулировать с элементами страницы пока страница не «готова» (объектная модель готова (DOM)). Обычный доступ к элементам html не проходит (Я имею в виду взять готовые данные из таблицы). Для того чтобы получить данные из канала мне нужно писать код на javaScript в функции $(document).ready(function ()) (когда DOM будет сформирован) после вызова функции startUpdatingCurData() в файле table.js ? Или в функции displayCellData предусмотреть вывод на свои элементы (но это все на JQuery и напоминает создание компонентов плагинов графического редактора)?
2) В clientAPI.js находится функция getCurCnlData (Get current data of the input channel). Я не нашел нигде ее вызова. Я бы хотел чтобы вы пояснили где и в каком месте моей веб страницы я могу вызвать эту функцию чтобы получить значение канала для вывода в тег <div>? Не могли бы вы привести синтаксис или пример вызова этой функции для любого тега?
3) Или вообще каким способом вывести данные из канала на мою веб страницу в тег div?
4) Каким образом можно взять данные из табличного представления скады в JavaScript переменную (обычный доступ к элементам html не проходит)?30.06.2019 в 11:57 #12589Mikhail
МодераторЗдесь происходит запрос текущих данных. Поставьте в отладчике Chrome точку останова на этом месте и посмотрите как работает функция.
Мы можем провести с Вами индивидульное обучение по данному вопросу, это платная услуга.
30.06.2019 в 12:00 #12590Mikhail
МодераторПросто поставьте на Вашей странице кнопку и по событию click этой кнопки вызовите функцию getCurCnlData или getCurCnlDataExt
01.07.2019 в 10:44 #12592Taw
Участникфункция getCurCnlData имеет вид
// Get current data of the input channel.
// callback is a function (success, cnlData)
// URL example: http://webserver/scada/ClientApiSvc.svc/GetCurCnlData?cnlNum=1
getCurCnlData: function (cnlNum, callback)
{
this._request(«ClientApiSvc.svc/GetCurCnlData», «?cnlNum=» + cnlNum, callback, this._EMPTY_CNL_DATA);
}Я пытаюсь вызвать по событию кнопки
<script>
function GetValue() {
var i = scada.clientAPI.getCurCnlData(611, callback);
alert(«Value is » + i);
}
</script><input type=»button» onclick=»GetValue()» value=»Read Chanel value!»/>
Как мне избавиться от callback или как мне задать ее в качестве аргумента в моей веб-странице.
Появляется сообщение об ошибке «callback is not defined»
эта функция имеет вид — ƒ (success, cnlData). Но как задать эту функцию и ее аргументы на моей веб-странице?01.07.2019 в 20:12 #12594Mikhail
МодераторТочно так же как по ссылке, указанной выше.
scada.clientAPI.getCurCnlData(101, function (success, cnlData) { alert(cnlData); });
01.07.2019 в 20:13 #12595Mikhail
МодераторФункция getCurCnlData работает асинхронно, поэтому результат надо получать внутри функции callback
-
Этот ответ был изменен 5 лет, 9 месяцев назад от
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.