Хорошо, у меня есть странная проблема в Firefox. Я печатаю в консоли Firebug
$ == jQuery
. Иногда она отображает true, а иногда false. Файл представляет собой пустой HTML-документ с одним тегом сценария, включая jQuery. Я обновляю страницу, нажимаю «Выполнить» в консоли и снова, иногда она возвращает true, иногда false.
В случаях, когда он возвращает false, $. ToString ()
дает
function anonymous() {
return window.console.notifyFirebug(arguments, "$", "firebugExecuteCommand");
}
Теперь вот странная вещь. Когда $ == jQuery
выдает значение false, используя консоль Firebug, если я иду в адресную строку и набираю javascript: alert ($ == jQuery);
, оно выводит true!
Кто-нибудь знает, что здесь происходит? Это (иногда) портит мою отладку.
Существует собственная функция, определенная firebug, которая назначает $
для getElementById. Я не думаю, что вы можете решить эту «ошибку» без обновления до более новой версии Firebug, которая потенциально устраняет проблему, или вручную назначив $ = jQuery
.
Это, вероятно, произошло из-за того, что jQuery уже кэшируется, а Firebug $
переопределяет его, поскольку он срабатывает слишком быстро, или наоборот. Просто какая-то странная ошибка в отношении скорости присваивания + кэширования .
Возможно, firebug использует $ для чего-то и там «состояние гонки между jquery и firebug для установки этой переменной, вы должны учитывать, что многие библиотеки javascript используют это имя переменной, если я не ошибаюсь, прототип является одним из них
Может быть много других вещей, использующих $ в качестве символа функции/переменной. jQuery — лишь один из них. Firebug, вероятно, переопределяет $.