В Firebug $ == jQuery возвращает false, только иногда

Хорошо, у меня есть странная проблема в 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!

Кто-нибудь знает, что здесь происходит? Это (иногда) портит мою отладку.

9
задан Nick 29 August 2010 в 03:28
поделиться

3 ответа

Существует собственная функция, определенная firebug, которая назначает $ для getElementById. Я не думаю, что вы можете решить эту «ошибку» без обновления до более новой версии Firebug, которая потенциально устраняет проблему, или вручную назначив $ = jQuery.

Это, вероятно, произошло из-за того, что jQuery уже кэшируется, а Firebug $ переопределяет его, поскольку он срабатывает слишком быстро, или наоборот. Просто какая-то странная ошибка в отношении скорости присваивания + кэширования .

3
ответ дан 5 December 2019 в 01:42
поделиться

Возможно, firebug использует $ для чего-то и там «состояние гонки между jquery и firebug для установки этой переменной, вы должны учитывать, что многие библиотеки javascript используют это имя переменной, если я не ошибаюсь, прототип является одним из них

0
ответ дан 5 December 2019 в 01:42
поделиться

Может быть много других вещей, использующих $ в качестве символа функции/переменной. jQuery — лишь один из них. Firebug, вероятно, переопределяет $.

0
ответ дан 5 December 2019 в 01:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: