Pull to refresh

Comments 49

Этот пример с загрузкой из определенного котейнера на странице раньше чуть ли не на главной висел или в одном из самых первых туториалов, мне он почему-то особо запомнился.
Сейчас это тоже ни от кого не скрывают :) — api.jquery.com/load/
UFO just landed and posted this here
Автор привнес в текст свое личное удивление. В оригинале автор заостряет внимание именно на проблеме.
UFO just landed and posted this here
А можно таким методом загрузить контент страницы с другого домена?
Due to browser security restrictions, most «Ajax» requests are subject to the same origin policy; the request can not successfully retrieve data from a different domain, subdomain, or protocol.
Ну вот фигово. 2011 год на дворе, а все пользоваться iframe приходится.
Откройте для себя магию jsonp.
Данный комментарий был бы бессмысленным, если бы не имелась в виду загрузка с чужого другого домена.
Аааа. Ну, батенька, если загружать данные совсем с чужого домена, то хто вам доктор? Хоть 2011 год, хоть 2022, но таким образом можно ведь воровать личные данные, потому оно нах никому не надо.
И поэтому кроссдоменный аякс всё-таки есть в спецификации?
Ну так если есть возможность установить allow-заголовок, то и jsonp настроить можно.
Ну почему же, в jsonp можно отдать только какое-то определённое содержимое, а allow кто-нибудь незадачливый может выставить на всё содержимое и достаточно маленькой xss дырки на allowed домене, чтобы поиметь какую-нибудь выгоду.
А толку от jsonp если сторонний сервер не отдает в нем данные? Тогда уже легче сделать у себя серверный скрипт для парсинга удаленной страницы.
UFO just landed and posted this here
Прежде, чем минусовать, посмотрите, что это. Можно с минимальными затратами в форматах JSON или XML через JSONP можно получить данные из любой части любой страницы любого домена.
Почему нельзя сделать просто так?
$("#area").load("something.html #content");
Ээээм, я разве где-то написал что нельзя?
Извиняюсь, комментарий раньше времени отправился…

Почему нельзя написать так?
$("#area").html($("something.html #content").html());
Потому что где вы тут видите ajax?
А разве здесь будет запрос страницы something.html? По-моему будет искаться контейнер с айди #content внутри тега something со стилем html.
Теперь всё понятно. Спасибо большое!
Ну в общем то это лишь иллюзия, страницу всё ровно придётся загружать целиком.
Это так, однако раскладывать DOM на составляющие уже не придётся.
Теряется положительный эффект загрузки с помощью ajax — никакой экономии трафика.

Как правило, с тем же успехом можно просто сделать переход на страницу.

Не спорю, что есть случаи, когда это будет иметь смысл (хотя это и менее эффективно, чем отдавать только нужную часть страницы или же вовсе только данные, по которым на стороне клиента строить DOM) — но иметь в виду этот момент все же стоит.
Имхо, это неплохой способ загружать статичные списки, загружая их не из базы, а из html файла.
Если только этот html-файл предполагается использовать как самостоятельную страницу.

Иначе все же лучше создать для каждого списка отдельный файл, а не гонять общую страницу туда-сюда постоянно.
Можно заставить браузер ее закешировать, и тогда можно будет быстро-быстро подгружать часто используемые и нечасто обновляемые блоки)
а ничего, что в примере на странице два элемента с одинаковыми айди?
А ничего, что там написано, что это ошибочная ситуация при работе и так быть не должно. А дальше написано, как это исправить.
Олдовых javascript-программистов пост улыбает.
А знали ли вы, что можно выбрать элементы по атрибуту, например
$('input[name=myinput]').val('myvalue');

Я бы тоже про это статью написал, но кармы мало. Если вы хотите видеть 100500 статей про базовые вещи в jQuery — плюсуйте мне карму и я каждый день буду радовать вас новым топиком.
Я смотрю вы много прочитали. Основная идея поста не в этом, а в том, как быть если одинаковые id.
А я еще слышал, что в jQuery есть какие-то «эффекты»…
А ещё, если написать $('#foo')[0], то получим элемент c id == 'foo'
UFO just landed and posted this here
UFO just landed and posted this here
Sign up to leave a comment.

Articles