Простой код jQuery хорошо работает, пока сайт не загружается через https://

Многие ответы описывают написание ваших собственных команд для распечатки '\r' + $some_sort_of_progress_msg. Иногда проблема заключается в том, что распечатка сотен этих обновлений в секунду замедлит процесс.

Однако, если какой-либо из ваших процессов выдает результат (например, 7z a -r newZipFile myFolder будет выводить каждое имя файла при его сжатии), тогда существует более простое, быстрое, безболезненное и настраиваемое решение.

Установите модуль Python tqdm.

$ sudo pip install tqdm
$ # now have fun
$ 7z a -r -bd newZipFile myFolder | tqdm >> /dev/null
$ # if we know the expected total, we can have a bar!
$ 7z a -r -bd newZipFile myFolder | grep -o Compressing | tqdm --total $(find myFolder -type f | wc -l) >> /dev/null

Справка: tqdm -h. Пример использования дополнительных опций:

$ find / -name '*.py' -exec cat \{} \; | tqdm --unit loc --unit_scale True | wc -l

В качестве бонуса вы также можете использовать tqdm, чтобы обернуть итерации в коде Python.

https://github.com/tqdm/tqdm/blob/master/README.rst#module

40
задан Plasticated 29 June 2009 в 03:56
поделиться

4 ответа

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

Я хотел бы добавить к ним и отметить, что если у вас есть ситуация, когда одни и те же страницы могут быть загружены через либо http, либо https, тогда вы можете создавать URL-адреса без протокола --- протокол будет считаться таким же, как текущая страница. Обратите внимание, что это необходимо только для доступа к ресурсам в разных доменах (и будет работать, только если эти разные домены поддерживают как http, так и https), потому что, очевидно, если вы обращаетесь к ресурсам в одном домене, вам не нужно начинать с http: // вообще ...

Например, каждый из этих трех ресурсов будет использовать http или https в зависимости от того, как осуществляется доступ к текущей странице:

<script src="//www.example.com/whatever.js" type="text/javascript"></script>
<img src="//www.example.com/someimage.png" alt="whatever" />
<link href="//www.example.com/styles.css" rel="stylesheet" />
79
ответ дан 27 November 2019 в 01:20
поделиться

Thank you for all your input. The problem was eventually tracked down to an image mentioned in Thickbox.js.

Because that had a http:// (not https://) url it was causing the error message. The security message that pops up has a yes or no to loading insecure content, and clicking yes was telling the browser to stop loading any jQuery at all.

A tricky one indeed so I thought I would answer myself in the hope it might help someone else with the same problem.

5
ответ дан 27 November 2019 в 01:20
поделиться

Если клиент использовал HTTPS для запроса страницы, тогда страница должна ссылаться на все носители (изображения, скрипты, таблицы стилей) через HTTPS.

Если клиент использовал HTTP для запроса страницы, тогда вы должны отправить этот HTML-фрагмент в своем ответе:

<head>
    <script
        type="text/javascript"
        src="http://my.domain.com/app/media/jquery.js"
    ></script>
</head>

Если клиент использовал HTTPS для запроса страницы, вы должны отправить этот HTML-фрагмент в своем ответе:

<head>
    <script
        type="text/javascript"
        src="https://my.domain.com/app/media/jquery.js"
    ></script>
</head>

Разница в том, что, когда клиент запрашивает страницу с HTTPS, сервер отправляет обратно ссылку на скрипт jquery, который начинается с https: // .

2
ответ дан 27 November 2019 в 01:20
поделиться

Если вы обслуживаете страницу через https: // , то каждая ссылка на ресурс также должна использовать https: // . Обратите внимание на

<script type="text/javascript" src="http://.../jquery.js"></script>
11
ответ дан 27 November 2019 в 01:20
поделиться
Другие вопросы по тегам:

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