Проблемы с insertAdjacentHTML в Opera
function lenta(ukazatel){
var news = document.getElementById('news');
var content = ajax('../lenta.php?uk='+ukazatel,'GET',null);
news.insertAdjacentHTML("beforeEnd",content);
}
Вот эта функция работает для подгрузки новостной ленты. В Google Chrome все ок, а вот в опере не работает почему-то.Сама функция принимает ukazatel, который передается на сервер, а сервер начиная с ukazatel возращает 15 новостей из БД.Сам запрос в Опере проходит, но почему-то html не вставляется.Вот эта страничка http://etpcompany.zz.mu/news .И еще одна просьба. Кому не лень, поюзайте сайт, посоветуйте за сколько можно заказчику продать :). Вот админка: http://etpcompany.zz.mu/login_view Логин: admin Пароль: energicalproject Заранее спасибо!!!:) |
Не пробовал в нижнем регистре писать beforeend? И на че именно ругается опера, то?
|
Нет, не пробывал.А стоит? Не ругается она, просто не вставляет.Консоль пуст. http://etpcompany.zz.mu/news
|
Попробывал. То же самое.
|
Там нифига не работает у вас и вообще никакой реквест не шлётся. Куда тыкать то?
|
Ну как не шлется, если в Google Chrome работает :) ? Вот функция.
function ajax(qe,method,data){
var req;
if (window.XMLHttpRequest)
req = new XMLHttpRequest();
else if (window.ActiveXObject) {
try {
req = new ActiveXObject('Msxml2.XMLHTTP');
} catch (e){}
try {
req = new ActiveXObject('Microsoft.XMLHTTP');
} catch (e){}
}
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200) {
return req.responseText;
}
};
req.open(method,qe, false);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(data);
}
}
|
В network не вижу ни одного xhr.
|
Nekromancer,
Цитата:
|
Так работает же в опере. v12.14
Вот только тормозит и глючит страница при подгрузке. Смотрел в Хроме. |
function lenta(ukazatel){
var news = document.getElementById('news');
var content = ajax('../lenta.php?uk='+ukazatel,'GET',null);
var length = news.children.length;
news.insertAdjacentHTML("beforeEnd",content);
var newlength = news.children.length
if(length == newlength){
news.innerHTML += content;
}
}
Как вариант..но будет тормозить ибо будет старое содержимое перезаписываться и картинки по новому будет грузиться, что весьма печально. |
danik.js,
v12.15 не работало |
Ладно, работает и хорошо.И еще одна просьба. Кому не лень, поюзайте сайт, посоветуйте за сколько можно заказчику продать . Вот админка: http://etpcompany.zz.mu/login_view
Логин: admin Пароль: energicalproject Заранее спасибо :)!!! |
Я бы подумал об асинхронности запроса. Ибо подвисает. Не надолго, но очень заметно и впечатление оставляет хреновое.
|
danik.js,
Там переходы (менюшка) на Ajax'e, получается что ассинхронный это когда запрос посылается и скрипт пошел выполняться не ждя ответа, но без ответа все ломается.Хотя можно сделать одну функцию для синхронного запроса(для менюшки) , а другую, асинхронную, для других целей вроде новостной ленты. |
Цитата:
Вобще, я бы просто подключил jQuery и не пришлось бы писать столько кода и беспокоиться о кроссбраузерности.. |
danik.js, Я не использую jQuery, так как ее возможности ограничены, а на чистом JS можно уйти куда дальше.Скорее всего эти сотни тысяч сайтов просто перенесли изменение содержимого содержания в событие onreadystage, что в моем случае не предусмотрено и моя функция естественно требует расширения.Например чтобы она принимала объект с нужными свойствами, а не указанные брались по умолчанию и так далее.:)
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 23:16. |