Давайте сначала столкнемся с первой проблемой: 1. Проверьте исходный код функции, рекомендованный этой функцией ниже статьи
Это на самом деле очень просто, просто нажмите на увеличительное стекло, чтобы выбрать рекомендацию.
Этот VotePost (CB_ENTRYID, 'Digg') - это функция, вызванная рекомендуемой кнопкой. Разве это не очень просто?
Вторая проблема состоит в том, чтобы найти местоположение файла, где находится функция.
На самом деле, это также очень просто. Конечно, друзья, которые не знакомы с консоли, могут не знать, как ее прочитать.
Я набираю VotePost в консоли и нажимайте Enter,
Исходный код функции отображается приблизительно, и есть ссылка Blog-common.js? V = we8o1xrgctu07qvwyqerqd7aa8fdjp_dgoe-crat3k1: 1 Что это значит?
Последующее v = we8o1xrgctu07qvwyqerqd7aa8fdjp_dgoe-crat3k1 игнорируется напрямую.
PS: Если вы хотите знать, что это такое, это на самом деле номер версии. Что касается того, что он делает, это часто следует предотвратить кэширование. Пожалуйста, найдите в Интернете подробности.
blog-common.js: 1 почти означает это. Полем
blog-common.js-файл JS, в котором находится эта функция
1 - номер строки, где находится код.
Нажмите на эту ссылку непосредственно, чтобы перейти на панель источников. Это исходная панель, самая важная функция отладки, и будет введена медленно позже.
Но весь код находится на одной строке, как мы сможем на него взглянуть? 4946 символов уменьшены на одной линии. Полем
Chrome предоставляет нам функцию форматирования кода, нажмите кнопку «Прекрасной печати» ниже, чтобы форматировать код.
После того, как форматирование будет завершено, оно будет очень красивым. Что касается того, можете ли вы это понять или нет, это другой вопрос.
Некоторые люди не могут понять это, возможно, код был составлен такими инструментами, как Uglifyjs, закрытие Google и т. Д., Такие, как файл jquery.min.js.
Также может случиться так, что ваш уровень слишком низкий, и вы не можете понять код, написанный мастером, поэтому я ничего не могу с этим поделать. Вы можете только усердно работать, чтобы улучшить свои силы.
Если форматирования достаточно, не волнуйтесь, если я здесь, почему вы паникуете?
Вернитесь к консольной панели прямо сейчас.
Вы рады обнаружить, что блог-common.js? V = we8o1xrgctu07qvwyqerqd7aa8fdjp_dgoe-crat3k1: 91
Номер строки стал 91. Теперь нажмите на эту ссылку, и вы можете перейти к соответствующей форматированной позиции. Разве это не очень удобно? Полем
Последний вопрос состоит в том, чтобы изменить функцию, чтобы аннулировать ее. Это самый простой, гораздо проще, чем тот, который только сейчас, но многие люди не могут управлять им, поэтому я специально вытащил это и говорил об этом.
Прежде всего, мы знаем, что функция, рекомендованная называть эту функцию, - это wortepost (cb_entryid, 'digg'), и она записана напрямую и связана Onclick на HTML.
Таким образом, эта функция является глобальной функцией, которую можно назвать повсюду, так что это значит?
Это означает, что мы можем изменить его, это как глобальная переменная, вы можете изменить ее где угодно, верно? Тогда глобальная функция должна быть правильной.
Таким образом, мы можем просто изменить его на пустую функцию.
wortepost = function () {}; или wortepost = $ .noop; $ .NOOP - это пустая функция, предоставленная JQUERY для нас, чтобы быть удобными для использования.
Теперь VotePost - пустая функция, поэтому ничего не произойдет, если вы нажмете кнопку рекомендации.
Конечно, это снова вступит в силу после обновления страницы. Мы просто отлаживаем и изменяем его на странице. Мы не можем вступить в силу навсегда, не изменяя исходный код парка блога.
Таким образом, отладка означает процесс поиска и устранения ошибок. Если источник ошибки находится, измените его, а затем протестируйте его. Если это неправильно, обновите и измените его снова, поэтому нет необходимости изменять фактический файл, что сделает его невозможным.
Сегодняшний контент почти все это. На самом деле, у вас есть несколько прямых глобальных функций для отладки, потому что jQuery сейчас популярен, и различные привязки для событий, такие как клик и при создании позиционирования исходного кода очень сложным.
К счастью, я написал статью раньше и проанализировал эту проблему более подробно. Для получения подробной информации, пожалуйста, обратитесь к «Кратке обсуждения по вопросам позиционирования исходного кода событий jQuery»
Я не знаком с другими структурами, поэтому я не анализировал их, но идеи на самом деле похожи, и должен быть механизм управления событиями.
У меня сегодня мало знаний, но я должен консолидировать это сам, иначе я забуду это за считанные секунды.
Упражнения после класса:
1. Проанализируйте, как функция VotePost реализует рекомендованную.
2. Динамическая отладка и анализ VotePost. (Чтобы объединить знания точки останова)
Я расскажу о точках останова и динамической отладке завтра. Я не нашел подходящего вопроса, поэтому я сделаю это первым. Если у вас есть что -то подходящее, которое требует динамической отладки, ответьте. Полем