Ошибка сценария объект не поддерживает это свойство или метод

Добрый день.

Постоянно, на определенных сайтах (в частности, hh.ru) возникают ошибки сценариев. Клиент под управлением Windows Vista Home Premium.

«На этой странице произошла ошибка сценария»

Строка: 164

Символ: 5

Ошибка: Объект не поддерживает это свойство или метод

Код: 0

URL: http://www.hh.ru/

Продолжить выполнение сценариев на этой странице?»

Были выполнены все найденные рекомендации:

В Internet Explorer, в меню Сервис, в Свойствах обозревателя были поставлены флажки рядом с Отключить отладку сценариев (Internet Explorer) и Отключить отладку сценариев (другие).

Снят флажок с Показывать уведомления о каждой ошибке сценария.

В Панель Управления, Свойства папки, Задачи — Использовать Обычные папки Windows.

regsvr32 atl.dll

regsvr32 corpol.dll

regsvr32 dispex.dll

regsvr32 jscript.dll

regsvr32 scrrun.dll

regsvr32 scrobj.dll

regsvr32 vbscript.dll

regsvr32 wshext.dll

regsvr32 msxml3.dll

regsvr32 comuid.dll

regsvr32 comsvcs.dll

regsvr32 ole32.dll

regsvr32 oleaut32.dll

Все проделанные манипуляции не привели к устранению проблемы.

Где еще можно посмотреть?

Заранее благодарен.

С уважением,

Святослав.

I have an option in my application where users can deactivate their profiles. Only admin can activate them again.

I have a class ActivateProfile with two methods

  • userExist(userName) that checks if user with that userName exists and his/her profile is deactivated
  • and activateAccountByUser(userName) that activate the profile of the user again

I call a JavaScript function on the click event of an input type button. This code works fine on Chrome and Mozilla, but on Internet Explorer I get this error:

SCRIPT438: Object doesn’t support property or method userExist

function activateProf() {        
   var userName=document.getElementById("userName").value;

   if (userName == "") {
      alert("Полето е задолжително");
   } else {
      alert(userName + "1");
      ActivateProfile.userExist(userName, { callback:function(exist) {
         if (userName) {
            ActivateProfile.activateAccountByUser(userName);
            alert("User is activated");
         } else {
            alert("User does not exist");
         }
      }});
   }
}

Here is the code for Activate profile class

 public void activateAccountByUser(String userName) {
    try {
        Connection c = DBComm.getInstance().getConnection();
        Statement s = c.createStatement();
        ResultSet set = s.executeQuery("select * from accounts where userName = '" + userName + "' and isauthorized='2'");

        if (set.next()) {
            Statement st = c.createStatement();
            st.executeUpdate("update accounts set isauthorized='1' where userName='" + userName                    + "' and isauthorized='2'");
        }
        s.close();
        c.close();
    } catch (Exception ex) {
        java.util.logging.Logger.getLogger(ActivateProfile.class.getName()).log(Level.SEVERE, null, ex);
    }
}

public boolean userExist(String userName) throws SQLException {
    //true exist
    //false does not exist
    boolean existEmbg = false;

    try {
        Connection c = DBComm.getInstance().getConnection();
        Statement s = c.createStatement();
        ResultSet set = s.executeQuery("select * from accounts where userName = '" + userName + "' and isauthorized='2'");

        if (set.next()) {
            existEmbg = true;
        } else {
            existEmbg = false;
        }
        s.close();
        c.close();
    } catch (Exception ex) {
       java.util.logging.Logger.getLogger(ActivateProfile.class.getName()).log(Level.SEVERE, null, ex);
    }
    return existEmbg;
}

При работе с многоуровневыми программными пакетами, в которых предусмотрено ведение отчетности или выполнение финансовых операций в виде отслеживания состояния счетов или онлайн-платежей, достаточно часто можно встретить появление программного сбоя с выдачей уведомления о том, что какой-то объект не поддерживает свойства или метод Sign. Что делать в такой ситуации, знают далеко не все. Тем не менее, если разобраться в сути проблемы, решения по ее устранению многим пользователям покажутся очень простыми.

Объект не поддерживает свойства или метод Sign: суть проблемы

Суть происходящего состоит в том, что для проведения конфиденциальных операций, связанных с финансовой (и не только) отчетностью, при работе в интернете для обеспечения безопасности используются специальные цифровые подписи (Sign Cab), которые удостоверяют подлинность и надежность проведения предполагаемых действий.

объект не поддерживает свойства или метод sign

Сбой в виде ошибки «Объект не поддерживает свойства или метод Sign» свидетельствует о том, что такая подпись либо является недостоверной (что встречается весьма нечасто), либо запрошенный электронный документ или ресурс, на котором он расположен, блокируются системой безопасности, либо отказ в доступе связан с текущими настройками браузера, либо система не может выполнить специальные скрипты, необходимые для открытия документа вследствие отсутствия установленной поддержки.

Это основные причины появления сбоя. На них и будет заострено внимание. Вирусное воздействие по понятным причинам не рассматривается, поскольку и так ясно, что следить за системой пользователь должен самостоятельно. Это не обсуждается.

Отключаем систему защиты

Чтобы устранить сбой в виде ошибки «Объект не поддерживает свойства или метод Sign», первым делом следует кратковременно отключить штатный антивирус, установленный в системе. В любом программном продукте этого типа такая возможность предусмотрена.

свойства обозревателя

Обычно достаточно просто использовать меню ПКМ (правой кнопки мыши) на иконке антивируса в системном трее, в котором достаточно выбрать отключение защиты на 10 минут. После этого можно посмотреть, откроется ли запрашиваемый документ.

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

причины появления сбоя

Если при выполнении таких действий ошибка «Объект не поддерживает свойства или метод Sign» исчезает, следует внести сайт в список исключений антивируса и выполнить такие же настройки в файрволе, но уже для браузерного приложения, используемого в системе по умолчанию, с указанием полного пути к исполняемому файлу программы.

Изменяем свойства обозревателя

Как показывает практика, в большинстве случаев такой сбой проявляется исключительно в «родном» браузере Windows-систем Internet Explorer. Если посмотреть на свойства обозревателя, в которых настраивается большинство параметров, нетрудно заметить, что по умолчанию установлен уровень защиты, соответствующий значению «Выше среднего». И использование именно этого параметра в большинстве случаев является совершенно необоснованным.

изменение настроек браузера

В этой ситуации можно произвести изменение настроек браузера, установив уровень безопасности специальным ползунком (фейдером) в положение «Ниже среднего».

объект не поддерживает свойства или метод sign что делать

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

Обратите внимание, что, если в системе имеются установленные без ведома пользователя апплеты вроде дополнительных сервисов Mail.Ru, «Одноклассников» или еще чего-то подобного, их следует удалить, но использовать для этого желательно не собственный раздел программ и компонентов Windows, а применять специальные утилиты с расширенными возможностями (iObit Uninstaller, Revo Uninstaller и др.)

Используем другой браузер

Если действия с Internet Explorer результата не дали, нет ничего проще, чем попытаться открыть необходимый документ в другой программе.

объект не поддерживает свойства или метод sign

Браузеров сейчас очень много (Chrome, Firefox, Edge, Opera и т.д.) Какой именно будет применяться программный продукт, не столь важно. Если доступ будет получен хотя бы в одном из них, это уже скажет о том, что не все в порядке с IE, и проблема состоит не в цифровой подписи.

Чистим кэш и файлы Cookies

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

свойства обозревателя

При этом в любой программе имеется специальное меню, отвечающее за устанавливаемый для очистки период. Для верности лучше выбрать параметр «За весь период» или «С начала посещений».

Наконец, можно произвести полный сброс настроек до первоначально состояния (функция Reset) с удалением всех вышеуказанных элементов и сохраненных пользовательских данных.

Обновляем платформу .NET Framework с ручной регистрацией компонентов

Еще один, пожалуй, один из главных моментов связан с отсутствием, некорректной установкой или устареванием специальной платформы .NET Framework, без которой выполнение некоторых скриптов и исполняемых веб-апплетов является невозможным.

причины появления сбоя

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

В некоторых случаях даже после окончания интегрирования платформы в систему корректно использовать ее получается не всегда. Связано это может быть с ошибками самих ОС, которые только по им самим известным причинам могут блокировать регистрацию некоторых динамических библиотек, отвечающих за выполнение скриптов Java и Visual Basic (jscript.dll и vbscript.dll).

изменение настроек браузера

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

function oknoblock(el) {
var els = window.document.getElementsByClassName('okno');
for (var i=0; i<els.length; ++i) {els[i].style.display='none';};
el.firstElementChild.style.display='block';
};

Ие 8 пишет:
Объект не поддерживает это свойство или метод. Строка 2 символ 1.

В HTML функция вызывается вот так:
<div id=»n1″ onclick=»oknoblock(this)»>

задан 25 мая 2012 в 4:40

Нубойд's user avatar

0

// "getElementsByClassName" не определен IE, 
// так что этот метод можно реализовать в JavaScript 
if(document.getElementsByClassName == undefined) { 
   document.getElementsByClassName = function(cl) { 
      var retnode = []; 
      var myclass = new RegExp('\b'+cl+'\b'); 
      var elem = this.getElementsByTagName('*'); 
      for (var i = 0; i < elem.length; i++) { 
         var classes = elem[i].className; 
         if (myclass.test(classes)) { 
            retnode.push(elem[i]); 
         } 
      } 
      return retnode; 
   } 
};

Взято из: http://web.izjum.com/getelementsbyclassname-on-javascript

ответ дан 25 мая 2012 в 5:09

Dobby007's user avatar

Dobby007Dobby007

1,3751 золотой знак14 серебряных знаков26 бронзовых знаков

3

Вместо firstElementChild в IE<9 используйте:

var node = this.firstChild,
    firstElementChild = null;

for ( ; node; node = node.nextSibling) {
    if (node.nodeType === 1) {
        firstElementChild = node;
        break;
    }
}

в firstElementChild окажется первый тэг

Взято с сайта stack overflow

Дух сообщества's user avatar

ответ дан 25 мая 2012 в 6:03

Rules's user avatar

RulesRules

4,93610 золотых знаков33 серебряных знака62 бронзовых знака

Эксперт 1С

3053 / 2000 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

1

1С Web

07.01.2016, 12:15. Показов 13521. Ответов 13


Студворк — интернет-сервис помощи студентам

На форме поле HTML документа, при загрузке страницы сайта несколько раз подряд валятся ошибки сценария: «Объект не поддерживает это свойство или метод». В Свойствах обозревателя IE выставлены галочки «Отключить отладку сценариев (Internet Explorer)» и «Отключить отладку сценариев (другие)», убрана галочка «Показывать сообщения о каждой ошибке сценария».
В самом IE при открытии этой же страницы — все ок, ошибок сценария нет. А из 1Ски есть… Версия IE — 9.0.8112.
В чем причина?



0



Модератор

Эксперт 1С

3724 / 2918 / 575

Регистрация: 10.03.2011

Сообщений: 11,491

Записей в блоге: 1

08.01.2016, 03:42

2

GreenkO, Веб клиент?

Добавлено через 37 секунд
1С скорее всего использует какой нить режим совместимости



0



GreenkA

Эксперт 1С

3053 / 2000 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

08.01.2016, 23:49

 [ТС]

3

Dethmontt, нет, просто поле HTML документа на форме документа, куда я передаю адрес страницы сайта для дальнейшего считывания информации. Там еще требуется авторизация:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    Если Элементы.ПолеСодержание.Документ.readyState = "complete" Тогда      
        ОтключитьОбработчикОжидания("Ожидание");
        Логин_Авторизации = Элементы.ПолеСодержание.Документ.getElementsByName("RUser");          
        Пароль_Авторизации = Элементы.ПолеСодержание.Документ.getElementsByName("RPassword");
        КнопкаАвторизации = Элементы.ПолеСодержание.Документ.getElementsByName("submit");
        Если Логин_Авторизации <> Неопределено  И  Пароль_Авторизации <> Неопределено 
                И КнопкаАвторизации<> Неопределено Тогда
            Логин_Авторизации.Item(0).value = ИмяПользователя;
            Пароль_Авторизации.Item(0).value = Пароль;
            КнопкаАвторизации.Item(0).click();
            ПодключитьОбработчикОжидания("ОжиданиеРеализации", 1);
        Иначе
            ЭтаФорма.Доступность = Истина;
        КонецЕсли;     
    КонецЕсли;

Нашла, что можно выставить свойство браузера, тем самым «заткнуть» его. К примеру:

1C
1
2
3
4
       appIE = Новый COMОбъект("InternetExplorer.Application");
        appIE.Visible = Ложь; // не отображаем его (браузер) на экране  
    appIE.Silent = Истина;
        appIE.Navigate(АдресСайта);

Теперь вопрос: как мне через этот ком-объект отобразить загрузившуюся через него страницу в поле HTML документа на форме(у меня там еще поля для ввода Пользователя и Пароля и пр. инфы)? И что будет теперь с авторизацией…



0



Модератор

Эксперт 1С

3724 / 2918 / 575

Регистрация: 10.03.2011

Сообщений: 11,491

Записей в блоге: 1

09.01.2016, 03:22

4

GreenkO, так положи на форму ActiveX — Web browser control и работай с ним как с Поле ХТМЛ документа (но у него есть свойство Silent)

Добавлено через 1 минуту
GreenkO, ну или попробовать при помощи MSDN найти как от объекта ActiveDocument получить указатель на родителя (WBC) и так же изменить свойство Silent

Добавлено через 2 минуты

Цитата
Сообщение от GreenkO
Посмотреть сообщение

appIE = Новый COMОбъект(«InternetExplorer.Application»);

Кстати это тоже не ИЕ это специальная библиотека

Добавлено через 1 минуту
И должна быть та же что использует поле ХТМЛ документа (не знаю про версии правда, пишут что 1С на разных клиентах работает по разному — используются разные версии библиотек) только 1С-ники постарались и написали свою обертку к WBC так что прямого доступа к своойству Silent нет!!!



1



GreenkA

Эксперт 1С

3053 / 2000 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

09.01.2016, 23:02

 [ТС]

5

Цитата
Сообщение от Dethmontt
Посмотреть сообщение

GreenkO, так положи на форму ActiveX — Web browser control и работай с ним как с Поле ХТМЛ документа (но у него есть свойство Silent)

вот только у меня управляемая форма…

Добавлено через 57 минут
пробовала прописать, как в примере для упр. формы + совместимость (Ссылка):

1C
1
2
3
4
5
6
7
8
9
        ПолеСодержание = "<HTML>
        | <HEAD>
        |<META HTTP-EQUIV='X-UA-Compatible' CONTENT='IE=Edge'>
        |<META HTTP-EQUIV='REFRESH' CONTENT='0;URL=http://www.belavtostrada.by'>
        |<META content='text/html; charset=utf-8' http-equiv=Content-Type>
        |</HEAD>
        |<BODY>
        |</BODY>
        |</HTML>";

Но этот сайт ничем не проймешь…



0



Gokusa

Заблокирован

14.01.2016, 04:34

6

а сам код страницы не изменить ?

Добавлено через 34 минуты
карочи.
я бы делал не сайт в 1с а 1с через сайт.
тыж можешь открыть 1с через веб

Добавлено через 37 минут
карочи у мене в веб клиенте все норм.
сайт норм отображается также как и вбровзере.
а если в тонком или толстом то контекстные меню уплывают и прочее стилевое гавно лезет.
мне каж это не верно вязаться так до них.
на крайняк запуститьприложение( «мазилла » + «http://www.belavtostrada.by» +»?четанатемугетПост»+ «ПолучитьМассивКодированныхПараметров()»);
и сайт перековырять.
я бы делал так



0



Модератор

Эксперт 1С

3724 / 2918 / 575

Регистрация: 10.03.2011

Сообщений: 11,491

Записей в блоге: 1

14.01.2016, 11:37

7

Gokusa, а ты попробуй перейти например на вкладку «Контакты»!!!



0



Gokusa

Заблокирован

14.01.2016, 18:17

8

у меня в веб клиенте ошибок нет — все соответствует тому что и на обычной странице, режим совмести отключен совсем, браузер мазилла и хром.
если через тонкий заходить — то менюшки «корявит», ошибок яваскрипта не выпадает.
в любом случае мазилла / не мазилла — я бы так не делал, как сделал Гринко



0



Модератор

Эксперт 1С

3724 / 2918 / 575

Регистрация: 10.03.2011

Сообщений: 11,491

Записей в блоге: 1

14.01.2016, 21:42

9

Цитата
Сообщение от Gokusa
Посмотреть сообщение

у меня в веб клиенте ошибок нет

Такого не может быть, поле ХТМЛ документа не умеет обрабатывать скрипты подключенные как файлы js так как он не загружает их на клиента



0



Gokusa

Заблокирован

14.01.2016, 21:46

10

я тебе говорю 100%
опубликовал базу на веб сервере, зашел на нее, открыл обработку с кодом от гринко.
там открылся сайт белгороттратата.
вручную открыл белгорот тратата — идентично.
если захожу в толстом, то ошибки выпадают.
если бы я умел вылаживать фоты, то показал бы что у мене все одинаково.
з.ы. я кста недавно баловался с оы скрипатми типа алерт , промт в поле хтмл , и вроде оно работает.
поверх окна формы возникают модальные окны яваскрипта.



0



Модератор

Эксперт 1С

3724 / 2918 / 575

Регистрация: 10.03.2011

Сообщений: 11,491

Записей в блоге: 1

14.01.2016, 21:54

11

Gokusa, попробуй на Google и Яндексе



0



0 / 0 / 0

Регистрация: 10.07.2017

Сообщений: 2

21.04.2018, 20:39

12

Доброго времени суток!

Удалось разобраться с этим вопросом?
Та же ситуация, на форме Поле HTML документа, ошибки сценария сыпят.
Эти же 2 флага отладки сняты, флаг сообщений о каждой ошибке снят.
В реестре десятичное значение 11001 прописано, ошибок стало меньше, но совсем не ушли.



0



1904 / 1304 / 465

Регистрация: 16.01.2015

Сообщений: 5,677

22.04.2018, 22:45

13

Создание Тьмы, Не знаю насколько это правильно, но для себя делал совсем просто и кардинально. Искал на встраиваемой странице скрипты по тэгам <script> … </script> и сносил их. Ошибки сценария ушли информация осталась )))



0



0 / 0 / 0

Регистрация: 10.07.2017

Сообщений: 2

25.04.2018, 16:34

14

polax, я пока пошёл путём ком-объекта, но происходит что-то странное, как будто пропадает доступ к нему и обработка валится в разных местах, иногда на переходе по второй ссылке appIE.Navigate(«https://***/»);, и всегда после обновления страницы при повторной попытке получить appIE.document.getElementsByClassName(«***»);



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

25.04.2018, 16:34

Помогаю со студенческими работами здесь

Написание сценария
Привет, подскажите как написать сценарий: Поставьте 1 балл, если был ответ «да» в вопросах с…

Ошибка сценария
такая вот ошибка начала появляться после попытки установки касперского, появляется минуты чрез две…

Вставка сценария
Всем добрый день. Есть база на ACCESS. Появилась идея создать exe для ее запуска. Но хотелось бы…

Файл сценария
При запуске компа выскакивает такая хрень- &quot;Не удается найти файл сценария …

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

14

  • Ошибка сценария на этой странице произошла ошибка сценария при запуске
  • Ошибка сценария на этой странице произошла ошибка сценария ошибка script error
  • Ошибка сценария на этой странице произошла ошибка сценария outlook
  • Ошибка сценария abortremotescriptinterval не определено
  • Ошибка сценария на этой странице произошла ошибка сценария kmplayer