Проблемы с 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, время: 11:00. |