Глючит js - смешанное содержимое

4 апреля 2019 в 17:50

Взял тут на форуме простейший скрипт - хотел прикрутить себе. Однако при попытке подключения всеми возможными способами выдается ошибка - смешанное содержимое и скрипт не работает. Никаких ошибок никуда не кидает. Скрипт состоит по сути из одной функции. Правильность кода проверил многократно. Что это может быть? Ошибка перехватывается в IE 11, остальные браузеры молча игнорируют скрипт. В IE 11 после подтверждения вывода смешанного содержания все работает.Без подтверждения тоже игнорируется скрипт. Вопрос: как подсунуть этот скрипт drupal, чтоб он открывался не как смешанное содержимое. Сайт работает на https, естественно.

ВложениеРазмер
Иконка простого текстового файла checkout.txt3.69 КБ

Комментарии

Вам ссылку на drupal.org дать? Все - это все. Вплоть до JSinjector. Ошибка везде одинаковая. Добавлю только, что ошибка на странице checkout, где вроде бы какие-то дополнительные модули включаются для безопасности. МОжет в этом дело.

4 апреля 2019 в 18:26

Интересные люди. Наверное, ради помощи вопросы на форуме задаёте. Для решения вашей задачи нужна более детальная информация. Примеры кода напишите.

4 апреля 2019 в 19:47

Практически стоковая корзина. Страница checkout. На ней раздел доставка. Хочу скрыть поля адреса, если получать в офисе. Приложенный файл как раз для этого. Какие примеры кода, если я ничего там не кодил?

4 апреля 2019 в 20:52

Если смешанное содержимое, то скорее всего скрипт по http грузится, и вы как-то нестандартно его подключаете

4 апреля 2019 в 20:57

Через template.php темы - как учили.

$base_url = path_to_theme();

if(!empty($_SERVER['HTTPS'])) {
$base_url = str_replace( "http://", "https://", $base_url );
}

if ($form['#id']='commerce-checkout-form-checkout') {
// у меня например 'commerce-checkout-form-checkout'
$form['#attached']['js'][] = array(
$base_url . '/j/checkout.js',
);
}
И много других вариантов перебрал

4 апреля 2019 в 21:26

7. Брал все примеры прямо с drupal.org. Подключал модули - поведение во всех случаях одинаковое. Как-будто на самой странице checkout какая-то засада.

4 апреля 2019 в 21:39

Этот скрипт я здесь взял. Вариантов подключения штук 10 перебрал. ПО ссылке - ничего нового. А что вы имеете в виду под лишним? В js никогда не был силен, а тем паче в jquery. Хоть переписывай на чистый js.

4 апреля 2019 в 21:50

Я писал не про скрипт js (хотя и он требует оптимизации). А про то что вы наворотили в комментарии. Там лишние проверки на протоколы. Drupal сам подключит как нужно. Можно в settings $base_url явно указать, но при правильной настройке и без него должно работать.

4 апреля 2019 в 21:53

Это уже от нечего делать добавил проверку https. Через states форма скрывается, но не появляется снова, через conditional fields вообще не работает. JS глючит - вот ведь незадачка.

4 апреля 2019 в 22:04

А с чего вы взяли, что у вас именно с подключением этого скрипта связана ваше предупреждение о смешанном содержимом, полный текст которого вы так и не написали?

4 апреля 2019 в 22:21

На форуме 90% людей на linux и IE уже 1000 лет не видели, ну хоть скрин дайте, если отчет об ошибке никак не получается

4 апреля 2019 в 22:26

Я так понял у Вас проблема в чекауте Комерца в зависимости от того что выбирает покупатель (чебоксы) показать то или иное содержимое? Это точно в Комерце через JS делается? (Я в Уберкарте иногда - да.) Неужели это сложно? Попробуйте сначала без бехайворов.

4 апреля 2019 в 22:29

Я уже четыре варианта пробовал. Через JS - наиболее рабочий, если не считать того, что эта ошибка вываливается.

4 апреля 2019 в 22:35

"Отображается только безопасное содержимое" и кнопка "Отображать содержимое". Если б не ослик - я бы вообще ничего не смог понять в этом случае. Остальные браузеры тупо молчат. Консоли полны мусора но от других модулей.

4 апреля 2019 в 22:34

В консоле есть ошибка вида:
Mixed Content: The page at ... was loaded over HTTPS, but requested an insecure script ... This request has been blocked; the content must be served over HTTPS.
?

4 апреля 2019 в 22:38

Нет такой ошибки. Проблема в том, что скрипт работает только в ie 11 и то после нажатия кнопки подтвердить смешанное отображение. Если бы в других браузерах хоть как-то работало - там просто тишина. По крайней мере на этот модуль ничего не ссылается.

4 апреля 2019 в 22:51

И, кстати, это не только в IE. У себя в chrome тоже наблюдаю, только он блокирует небезопасный контент и не так навязчиво об этом сообщает

4 апреля 2019 в 22:42

Content Security Policy: Игнорирую «'unsafe-inline'» внутри script-src: указано «strict-dynamic» (неизвестен)
Content Security Policy: Игнорирую «https:» внутри script-src: указано «strict-dynamic» (неизвестен)
Content Security Policy: Игнорирую «http:» внутри script-src: указано «strict-dynamic» (неизвестен)
Content Security Policy: Игнорирую «https://local.adguard.com» внутри script-src: указано «strict-dynamic» (неизвестен)

Это FF

4 апреля 2019 в 22:55