Как мне отладить эту странную проблему IE JavaScript

OK,

Вот моя проблема: у меня есть главная страница с разделом HEAD, который содержит мои включения JS. У меня есть один JS, включая

<script src="Includes/js/browser.js" language="javascript" type="text/javascript"></script>

На моей странице я использую это так:

<body>
<form id="form1" runat="server">
<div>
....
<script type="text/javascript">registerBookmarkButton();</script>
....
</div>
</form>
</body>

И я получаю эту ошибку:

Line: 216
Error: Object expected

Пожалуйста, скажи мне, что я что-то пропустил, и это глупая ошибка.


person Chris    schedule 28.11.2008    source источник


Ответы (5)


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

В противном случае см. некоторые из следующих инструментов, которые могут помочь:

person Mark Renouf    schedule 28.11.2008

Как хочешь.

Вы просто что-то пропустили, и это глупая ошибка.

:)

That being said, I'd try to find out which file it is that has the faulty line 216. Perhaps it's the browser.js file? Other possibilities include:

  • Вы перепутали URL-адрес, и файл не загружается;
  • Функция зависит от полной загрузки DOM, но она вызывается до того, как будут созданы соответствующие элементы (в большинстве случаев JS следует выполнять после события загрузки при нормальных обстоятельствах).

person Vilx-    schedule 28.11.2008

  1. Попробуйте запустить код через JSLint.
  2. Добавьте alert() вызовы здесь и там, чтобы сузить ошибку до определенного места.
person Ates Goral    schedule 28.11.2008
comment
@Ates, мне нравится, что сейчас 2010 год, и я все еще использовал операторы «alert()» для отладки javascript. - person Chris; 14.02.2010
comment
Конечно, по возможности следует использовать консоль Firebug, но alert по-прежнему кажется наиболее переносимым способом. - person Ates Goral; 16.02.2010

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

Чтобы успешно отладить эту ошибку, вы должны сначала определить инструкцию по номеру строки, указанному в ошибке. Этого нельзя сделать, просмотрев все исходные файлы, если только у вас нет психических способностей отладки. Рекомендуется перехватывать исключение внутри отладчика JavaScript. Если вы отлаживаете это под MS IE, вы можете установить Microsoft Script Engine, который можно установить вместе с MS Office, или отладчик сценариев Microsoft для бедняков. Для Firefox есть отличные расширения Firebug и Venkman. запись в блоге Джонатана Бутеля об отладке JavaScript в IE выглядит как должны прочитать.

person Vineet Reynolds    schedule 28.11.2008

проверьте, используете ли вы ключевое слово в качестве идентификатора в своем коде


http://mattsnider.com/languages/javascript/reserved-words-in-javascript/

http://bytes.com/groups/javascript/424640-error-object-expected

http://msdn.microsoft.com/en-us/library/0779sbks.aspx

person Gene T    schedule 28.11.2008