Мы попытались динамически обновить наши rss-ссылки (используя JavaScript) в разделе заголовка HTML-документа, чтобы отразить изменения на странице из-за фильтрации с помощью AJAX. Кажется, что они не всегда обновляются в разных браузерах (см. Рисунок ...).
( edit : Под неправильным обновлением я имею в виду ссылку в адресной строке, а не сам DOM.)
- Кто-нибудь знает метод, который делает это возможным (без загрузки страницы)?
- Можете ли вы опубликовать пример того, как это делается?
Большое спасибо.
edit : у меня нет примеров кода, но мы попробовали следующее:
- Изменен атрибут href с использованием PrototypeJS writeAttribute
- Удалите старый тег и вставьте новый элемент ссылки в раздел head
edit2 : Вот примеры кода, которые не работали (serverResponse - это объект, переданный функции, содержащей этот код. RssLink - это свойство этого объекта и всегда определяется):
// Update <link>
var headLink = $('rssHead1');
// if we don't have a link in the header, create that element
if(!headLink) {
var head = $$('head').first(),
tag = '<link id="rssHead1" type=\"application/rss+xml\" rel="alternate">'
head.insert(tag);
headLink = $('rssHead1');
}
headLink.writeAttribute('href', serverResponse.rssLink);
headLink.writeAttribute('title', 'Monitor this search');
Вторая попытка:
// Update <link>
var headLink = $('rssHead1');
if(headLink) { headLink.remove(); }
headLink = new Element('link', {'id' = 'rssHead1',
'type' = 'application/rss+xml',
'rel' = 'alternate',
'href' = serverResponse.rssLink,
'title' = 'Monitor this search'});
$$('head').first().insert({bottom: headLink});