Может ли повышенная безопасность Windows нарушить средство выбора даты в jQueryUI? - PullRequest
4 голосов
/ 03 мая 2011

Я испытываю странную проблему при попытке отладки веб-приложения ASP.NET + jQuery + jQueryUI, разработанного кем-то, кто покинул компанию пару месяцев назад.

Проблема:

Для разработки мы используем виртуальную машину Windows Server 2008 R2 или виртуальную машину Windows Server 2003 R2, которые совместно используются через службы терминалов всеми разработчиками и контролируются нашим ИТ-отделом.

Оба они поставляются с Internet Explorer 8 и имеют повышенную безопасность.

Когда я пытаюсь отладить приложение или перемещаться по нему на тестовом сайте, некоторые функции JavaScripts не работают.

Одним из них является средство выбора даты в jQueryUI: календарь открывается, но когда я нажимаю на дату, ничего не происходит.

Я уже добавил http://localhost и тестовый сайт в доверенные сайты Internet Explorer, но безрезультатно;если я удалю их из списка доверенных сайтов (чтобы они выполнялись в зоне Интернета), JavaScript не будет выполнен.

Вопрос:

Могут ли эти проблемы быть вызваныпо усиленной безопасности Windows?

Если нет, то что я могу попытаться сузить преступника?

Я знаю, что такая проблема должна решаться ИТ-командой, но они этого не делаютЯ очень переживаю об этом, и я застрял, потому что не могу воспроизвести пару ошибок, возникающих только в Internet Explorer (эта блокировка JavaScript мешает мне даже добраться до ошибки), и я не могу ответить нашему пользователю "извините, но мы не решим проблему, потому что ЭТО нас не волнует ".

Да, я могу обострить эту проблему с моим менеджером, но вы знаете, какова бюрократия, это займет дни или даженедели электронной почты, чтобы разобраться в этом.Поэтому я подумал, что если я смогу сузить проблему, возможно, я смогу спасти себя от пустых споров.

Пример:

Я создал простую HTML-страницу для воспроизведенияпроблема:

<!DOCTYPE html>
<html>
    <head>
        <link href="jquery-ui.css" rel="stylesheet" />
        <script src="jquery.min.js"></script>
        <script src="jquery-ui.min.js"></script>
        <script>
            $(document).ready(function () {
                $("#dynamicText").text("Some dynamic text."); // <-- Works.
                $("#date").datepicker(); // <-- Does NOT work.
                $("#button").button(); // <-- Works.
                $("#button").click(function (event) {
                    event.preventDefault(); // <-- Works.
                    alert("You clicked the button."); // <-- Works.
                });
            });
        </script>
        <title>Test</title>
    </head>
    <body>
        <h1>Test</h1>
        <table>
            <thead>
                <tr>
                    <th>Function</th>
                    <th>Demo</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>Dynamic text:</td>
                    <td id="dynamicText"></td>
                </tr>
                <tr>
                    <td>Date picker:</td>
                    <td><input id="date" type="text" /></td>
                </tr>
                <tr>
                    <td>Button:</td>
                    <td><a id="button" href="https://encrypted.google.com/">Click me</a></td>
                </tr>
            </tbody>
        </table>
    </body>
</html>

Обновление:

Я забыл упомянуть, что нашел эту ссылку в TechNet, но она не упоминает какой тип скриптов будет заблокирован (так как не все они заблокированы, я потерян), почти каждый из результатов в Интернете объясняет, как отключить усиленную безопасность, но не то, что он делает.

Любая подсказка приветствуется ...: \

Ответы [ 2 ]

3 голосов
/ 14 июля 2011

Если вы отключите IE Enhanced Security, эта проблема исчезнет.Я не уверен, что это допустимый обходной путь, но, возможно, он может дать подсказку.

Чтобы отключить, откройте диспетчер сервера.Нажмите Настроить IE ESC и отключите усиленную безопасность для администраторов или пользователей.

0 голосов
/ 03 мая 2011

Возможно, в темноте, но у меня были похожие проблемы, когда сайт отображался в локальной зоне интрасети и поэтому автоматически отображался в режиме совместимости IE7Похоже, это вызвало ошибку при обнаружении браузера jquery.Исправлено добавление следующего метатега в раздел заголовка.

<meta http-equiv="X-UA-Compatible" content="IE=8" />

...