jQuery Диалоговое окно UI, загруженное в Ajax, разрабатывает jQuery Вкладки UI

Я предлагаю вам разработать программу, которая постепенно исследует синтаксис, который люди использовали для написания сценариев.

Например, каждая инструкция в ваших примерах разбита на часть устройства и часть настроек. Так что вы можете попробовать сопоставить каждую строку с регулярным выражением ^(.+) set (.+). Если вы найдете линии, которые не соответствуют этому шаблону, распечатайте их. Изучите выходные данные, найдите общий шаблон, соответствующий некоторым из них, добавьте соответствующее регулярное выражение в вашу программу (или измените существующее регулярное выражение) и повторите. Продолжайте до тех пор, пока вы не узнаете (в очень общем виде) каждую строку ввода.

(Поскольку заглавные буквы кажутся непоследовательными, вы можете либо выполнять регистронезависимые совпадения, либо конвертировать каждую строку в строчные, прежде чем начинать ее обрабатывать. В более общем случае вы можете найти другие «нормализации», которые упрощают последующую обработку. Например, если люди были непоследовательны в отношении пробелов, вы можете конвертировать каждый пробел символов пробела в один пробел.)

(Если ваш ввод содержит опечатки, например, кто-то написал «ste» для «set», то вы можете изменить регулярное выражение, чтобы учесть это (... (set|ste) ...), или перейдите (копия) во входной файл и просто исправьте опечатку.)

Затем вернитесь к строкам, которые соответствовали ^(.+) set (.+), распечатайте просто первая группа для каждой, и повторите описанный выше процесс только для этих подстрок. Затем повторите процедуру для второй группы в каждой инструкции «set». И так далее, рекурсивно.

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

В зависимости от вашего опыта работы с Python, вы можете найти способы сделать код кратким.

59
задан informatik01 6 April 2014 в 20:12
поделиться

2 ответа

<a href="javascript:void(0)" onclick="$('#myDialog').dialog();">
  Open as dialog
</a>

<div id="myDialog">
I have a dialog!
</div>

См. Пример, который я разместил на jsbin.com .

-1
ответ дан 24 November 2019 в 18:01
поделиться

Нет ничего проще, чем этот человек. Попробуйте это:

<?xml version="1.0" encoding="iso-8859-1"?>
<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css" type="text/css" />
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js"></script>
    <style>
        .loading { background: url(/img/spinner.gif) center no-repeat !important}
    </style>
</head>
<body>
    <a class="ajax" href="http://www.google.com">
      Open as dialog
    </a>

    <script type="text/javascript">
    $(function (){
        $('a.ajax').click(function() {
            var url = this.href;
            // show a spinner or something via css
            var dialog = $('<div style="display:none" class="loading"></div>').appendTo('body');
            // open the dialog
            dialog.dialog({
                // add a close listener to prevent adding multiple divs to the document
                close: function(event, ui) {
                    // remove div with all data and events
                    dialog.remove();
                },
                modal: true
            });
            // load remote content
            dialog.load(
                url, 
                {}, // omit this param object to issue a GET request instead a POST request, otherwise you may provide post parameters within the object
                function (responseText, textStatus, XMLHttpRequest) {
                    // remove the loading class
                    dialog.removeClass('loading');
                }
            );
            //prevent the browser to follow the link
            return false;
        });
    });
    </script>
</body>
</html>

Обратите внимание, что вы не можете загружать удаленно из локального, поэтому вам придется загрузить это на сервер или что-то еще. Также обратите внимание, что вы не можете загружаться из чужих доменов, поэтому вам следует заменить href ссылки на документ, размещенный в том же домене (и здесь обходной путь ).

Ура

121
ответ дан 24 November 2019 в 18:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: