Я пытаюсь реализовать следующий ответ из другого вопроса:
https://stackoverflow.com/a/26469105/2402594
В основном мне нужно добавить дополнительную проверку в функцию jQuery.Следующий код находится в библиотеке jQuery:
Но я не могу изменить исходный jQuery, поэтому я создаю патч в отдельном файле.Я переопределяю функцию поиска и добавляю следующие функции:
(function() {
var originalFind = jQuery.fn.find;
jQuery.fn.find = function () {
try {
document === document;
}
catch (err) {
document = window.document;
}
return originalFind.apply(this, arguments);
};
})();
Функция переопределяется правильно, однако, когда код вызывает 'find', моя попытка не выдает никаких исключенийкогда это должно произойти, потому что область действия отличается от той, что находится внутри функции Sizzle, поэтому оригинальная проблема все еще остается.
Я также попытался продублировать весь код Sizzle, добавив свою модификацию и назначив ее для jQuery.fn.find, как было сделано выше, однако проблема с областью действия все еще существует, и происходят некоторые сбои.
Мне нужно, чтобы «документ» был установлен до того, как он достигнет следующей проверки или произойдет сбой из-за отказа в разрешении:
Как я могу поделиться областью действия так, чтобы попытаться / пойматьможно сделать правильно?Это вообще возможно?Есть еще идеи?
Спасибо