PDA

Показать полную графическую версию : [решено] Не работает JavaScript


zvezda_t
22-03-2011, 09:19
Здравствуйте, уважаемые программисты!

Помогите мне пожалуйста, разобраться с такой проблемой (ОЧЕНЬ ВАЖНО):
Может у меня с сайтом что то не то, или я не правильно код пишу...(использую cms Joomla)

Не работает JavaScript, хотя он подключен (Браузер IE8)!
Если только меняю настройки безопасности, добавив свой сайт в надежные узлы
('Сервис'->'Свойства обозревателя...'->'Безопасность'->'Надежные узлы'
Далее нажмаю на кнопку 'Узлы'. Откроется окно: 'Надежные узлы', в поле 'Добавить в зону следующий узел:' ввожу название сайта, убераю галочку 'для всех узлов этой зоны требуется проверка серверов(https:)' и добавляю)
- тогда JavaScript начинает работать, но ведь это не правильно, я же не могу всех пользователей заставлять настройки безопасности менять! Как можно по другому проблему решить, научите пожалуйста!!!!?

Sham
22-03-2011, 09:30
Адреса подключаемых скриптов тоже дб https, либо относительными. В IE это вроде "разнородное содержимое" - ругается на это.

zvezda_t
22-03-2011, 14:08
Почему https? я же убираю галочку, те я в итоге добавляю надежный узел просто как http://

Подключаю так:

//функция расчета
print "<script type='text/javascript' language='javascript' src='http://". $_SERVER['HTTP_HOST'] ."/function/jscript/sum.js' ></script>";

Sham
22-03-2011, 15:08
Чтобы IE не ругался, страница и все связанные внешние файлы должны загружаться по одному сертификату, т.е. дб тот же протокол и домен. Для этого можно сделать адрес корневым без домена (/function/jscript/sum.js).

zvezda_t
23-03-2011, 07:38
Чтобы IE не ругался, страница и все связанные внешние файлы должны загружаться по одному сертификату, т.е. дб тот же протокол и домен. Для этого можно сделать адрес корневым без домена (/function/jscript/sum.js). »
сделала адрес корневым.

и поставила проверку прям в файле php:
//Не включен JavaScript-----------------------------------------------------------------------------
print "
<script language='Javascript'><!--
// --></script>
<noscript>
<p align='center' style='font-weight:bold; color:#FF0000;'>
".iconv("cp1251","UTF-8",'В Вашем браузере ОТКЛЮЧЕН JavaScript! </p>
</noscript>
</script>";
//----------------------------------------------------------------------------------------------------

если сайт не добавлен в надежные узлы выводит:
"В Вашем браузере ОТКЛЮЧЕН JavaScript!"

Sham
23-03-2011, 08:49
в IE8 нажмите F12 (средства разработчика), вкладка сценарий, начать отладку - смотрите что пишет.
В свойствах обозревателя на вкладке "безопасность" для зоны интернета сделайте уровень по умолчанию, или смотрите в "другой" группу "сценарии" - там переключатель "активные сценарии - включить"... также проверьте отладчиками других браузеров.

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

zvezda_t
23-03-2011, 08:56
Еще такие настройки нашла в Браузере:
"Свойства обозревателя - Безопасность - Интернет - Другой - Активные сценарии - Включить."

Эти настройки у меня отключены из-за сертификата?

Если сертификат самоподписанный, то надо вручную подтверждать или добавлять в доверенные. см. настройки по сертификатам. »
Вот в чем проблема.... А где эти настройки смотреть, ПОЖАЛУЙСТА расскажите подробнее!

Sham
23-03-2011, 09:13
для начала сделайте все настройки по умолчанию, и смотрите по отладчику (см. предыдущий пост).

zvezda_t
23-03-2011, 09:17
"Свойства обозревателя - Безопасность - Интернет - Другой - Активные сценарии - Включить." »
изменила эти настройки - JavaScript заработал!

только я не поняла, в итоге что в итоге правильно менять:
1)'Сервис'->'Свойства обозревателя...'->'Безопасность'->'Надежные узлы'->'Узлы'->'Добавить'
2)"Свойства обозревателя - Безопасность - Интернет - Другой - Активные сценарии - Включить."

Если меняю 1)-работает, если меняю 2) тоже работает.

в IE8 нажмите F12 (средства разработчика), вкладка сценарий, начать отладку - смотрите что пишет. »
ничего не пишет...

Sham
23-03-2011, 09:32
2 - по умолчанию включено в браузере, а 1 - нет (список надежных узлов пустой). Делайте как удобно юзерам. Проверьте настройки для всех зон (интернет - ограниченные узлы).

zvezda_t
23-03-2011, 09:36
2 - по умолчанию включено в браузере »
а у наших пользователей отключается из-за сертификата?

Проверьте настройки для всех зон (интернет - ограниченные узлы). »
где проверить??? я с сертификатами еще не работала(настройками системные администраторы обычно занимаются)

Sham
23-03-2011, 09:47
Само ничего не отключается. Если сертификат самоподписан, или "разнородное содержимое" - юзеру предлагается самому сделать, что ему надо (окошко, ссылка и т.д.). Все настройки только вручную делаются, или автоматически твиками.

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

zvezda_t
23-03-2011, 09:51
"Выбрать уровень безопасности по умолчанию для всех зон" »
не могу найти...

Sham
23-03-2011, 10:01
http://i18.fastpic.ru/big/2011/0323/e8/69bc397591aa2b432baf3329fd44e4e8.png

zvezda_t
23-03-2011, 10:10
Sham, спасибо Вам большое) и Благодарю за терпение!
Вы уж меня извините, что много вопросов задаю...

В итоге, я так поняла, что так как у нас подключение через сертификаты - то пользователю предлагается самому настройки в своём браузере задавать, а так как уровень безопасности высокий - то отключается JavaScript.
поэтому пользователю нужно самому устанавливать настройки безопасности:
2)"Свойства обозревателя - Безопасность - Интернет - Другой - Активные сценарии - Включить."
так?
и мы ничего не можем сделать, чтобы сразу JavaScript у них работал?

Sham
23-03-2011, 10:27
настройки JS не связаны с сертификатами (отдельная настройка). Вы сами должны знать, какие у вас настройки зон у юзеров, и исходя из этого делать вывод. Если общие настройки запрещают скрипты для зоны "интернет", то домен нужно добавлять в доверенные (инструкцией юзеру, или автоматизированно).
Это дело сисадмина вообще-то (добавление сертификатов и доменов в доверенные).

zvezda_t
23-03-2011, 11:55
то домен нужно добавлять в доверенные (инструкцией юзеру, или автоматизированно). »
это как я делала:
1)'Сервис'->'Свойства обозревателя...'->'Безопасность'->'Надежные узлы'->'Узлы'->'Добавить'
или я опять не правильно поняла?

Sham
23-03-2011, 12:34
Да, но это дело сисадмина (кто за сеть отвечает). Это неправильно - юзеров напрягать.

zvezda_t
23-03-2011, 12:40
Sham, спасибо Вам огромное, что так подробно мне всё объяснили!
поговорю с нашими системными администраторами. :)




© OSzone.net 2001-2012