Как мне отладить эту странную проблему IE JavaScript - PullRequest
2 голосов
/ 29 ноября 2008

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

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

Ответы [ 5 ]

2 голосов
/ 29 ноября 2008

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

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

2 голосов
/ 29 ноября 2008

Как пожелаешь.

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

:)

При этом я попытаюсь выяснить, какой именно файл имеет ошибочную строку 216. Возможно, это файл browser.js? Другие возможности включают в себя:

  • Вы перепутали URL, а файл не загружен;
  • Функция зависит от полной загрузки DOM, но она вызывается перед созданием соответствующих элементов (большинство JS должно выполняться после события onload при нормальных обстоятельствах).
1 голос
/ 29 ноября 2008
  1. Попробуйте запустить код через JSLint .
  2. Добавить alert() звонки тут и там, чтобы сузить ошибку до определенного места.
0 голосов
/ 29 ноября 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

0 голосов
/ 29 ноября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...