Пользовательские веб-страницы

Стартовая страница Форумы Разработка и интеграция Пользовательские веб-страницы

Просмотр 15 сообщений - с 31 по 45 (из 64 всего)
  • Автор
    Сообщения
  • #12461
    Mikhail
    Модератор

    Прописал путь custom/index.html — не помогает

    Не помогает, это означает, что в дереве ссылка не кликабельна? Если да, то запишите так:
    custom/index.html@WebPageView

    #12473
    Taw
    Участник

    Не помогает, это означает, что в дереве ссылка не кликабельна. Прописал по вашему примеру и ссылка стала кликабельна.
    1) Но почему не отображается содержимое веб-страницы (обычный текст вставленный в тег body)?
    2) Какие требования к встраиваемым веб-страницам?
    3) Можете привести пример простой встраиваемой html страницы?

    #12474
    baur
    Участник

    попробуй поместить файл в папку SCADA\ScadaWeb\plugins\WebPage и пропиши index.html@WebPageView

    • Этот ответ был изменен 4 года, 10 месяцев назад от baur.
    #12482
    manjey73
    Участник

    Файл надо кидать куда указал baur, но еще туда можно кинуть файл с редиректом. Вот только работать будет только внутри сети или наоборот извне, а внутри не будет.
    Хотя есть и тут выход, если позволяет роутер…
    Я так открывал страницу Ethernet — RS485 преобразователя в окне Scada.

    з.ы. как? не подскажу, надо искать те файлики, которые ковырял, а то усе почти погибло с винтом 🙂

    В редирект указывается внешний адрес роутера, проброс на web нужного устройства (по сути страницы), а в роутере настраивается Loop back на интерфейсе, когда стучишься на собственный же внешний адрес изнутри сети.

    #12484
    Mikhail
    Модератор

    Но почему не отображается содержимое веб-страницы

    Какая ошибка?

    #12515
    Taw
    Участник

    Ошибка в хроме была.
    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 объект?

    #12520
    Mikhail
    Модератор

    Failed to load resource: the server responded with a status of 404 (Not Found)
    Uncaught Error at contentscript.js:1

    На закладке Сеть можно увидеть по какому адресу Хром пытается найти страницу. И понять, относительно какой корневой директории происходит поиск. Соответственно подкорректировать путь в базе конфигурации.

    #12521
    Mikhail
    Модератор

    Иголка в стоге сена. Другого примера у меня сейчас нет, если появится — выложу.

    #12583
    Taw
    Участник

    Я взял за основу табличное представление из проекта 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 форму? Хотя для всех остальных каналов, которые созданы в табличном представлении (этого проекта) я могу менять номера и все работает?

    #12586
    Taw
    Участник

    Вопросы по проекту 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 не проходит)?

    #12589
    Mikhail
    Модератор

    Здесь происходит запрос текущих данных. Поставьте в отладчике Chrome точку останова на этом месте и посмотрите как работает функция.

    Мы можем провести с Вами индивидульное обучение по данному вопросу, это платная услуга.

    #12590
    Mikhail
    Модератор

    Просто поставьте на Вашей странице кнопку и по событию click этой кнопки вызовите функцию getCurCnlData или getCurCnlDataExt

    #12592
    Taw
    Участник

    функция 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). Но как задать эту функцию и ее аргументы на моей веб-странице?

    #12594
    Mikhail
    Модератор

    Точно так же как по ссылке, указанной выше.

    scada.clientAPI.getCurCnlData(101, function (success, cnlData) {
      alert(cnlData);
    });
    #12595
    Mikhail
    Модератор

    Функция getCurCnlData работает асинхронно, поэтому результат надо получать внутри функции callback

Просмотр 15 сообщений - с 31 по 45 (из 64 всего)
  • Вы должны авторизироваться для ответа в этой теме.