Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Изменить подгружаемые ajax-ом данные (https://javascript.ru/forum/events/39193-izmenit-podgruzhaemye-ajax-om-dannye.html)

mishgan 19.06.2013 22:09

Изменить подгружаемые ajax-ом данные
 
Пишу плагин для google chrome для определенного сайта на котором данные периодически загружаются ajax-ом. Мне надо изменить некоторые из подгруженных.
Как это осуществить?

PS: стационарные данные изменять получается, а вот подгружаемые нет.

cyber 20.06.2013 10:32

mishgan,
по подробней опишите как вы пытаетесь их изменить...

mishgan 21.06.2013 21:58

Применяю jquery
$(".messagestable_text").css('width' , '100px');
пробовал ещё так
var script = document.createElement("script");
script.textContent = "$('.messagestable_text').css('width' , '100px');";
document.documentElement.appendChild(script);

Эти обе конструкции работают на стационарных данных. На подгружаемые не влияют.

vadim5june 21.06.2013 22:31

Цитата:

Сообщение от mishgan
Эти обе конструкции работают на стационарных данных. На подгружаемые не влияют.

не должно так быть-должен работать
может Вы рано запускаете когда текст еще не вставлен?
<!DOCTYPE html>
<meta charset="utf-8">
<title>QQ</title>
<script 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script>
$(function(){$('#bt2').click(function(){$('#d1').html("<div class='messagestable_text' style='background:red;height:50px;width:50px;'></div>");});
$('#bt1').click(function(){$(".messagestable_text").css('width' , '100px')});});</script>
<body><button id=bt1>css</button><button id=bt2>paste</button>
<div class='messagestable_text' 

style='background:red;height:50px;width:50px;'></div>
<div id=d1></div>

mishgan 21.06.2013 22:39

Во-во... Вот как отследить что данные загружены?

vadim5june 21.06.2013 22:43

Цитата:

Сообщение от mishgan (Сообщение 257714)
Во-во... Вот как отследить что данные загружены?

просто должна быть правильная последовательность операций-сначала вставляем потом изменяем
Посмотрите пример выше добавил-там css одинаково работает и для стационарного и добавленного дива

mishgan 21.06.2013 23:10

Между моментом нажатия и моментом когда данные появятся на экране пройдет какое-то время (загрузка с сервера) . А вот как выполнить действие сразу после загрузки?....

vadim5june 21.06.2013 23:14

Цитата:

Сообщение от mishgan
выполнить действие сразу после загрузки?

Вы же аяксом подгружаете вот из callback функции вставляйте-а потом меняйте
$.ajax({
 url: "some.php"
}).done(function( msg ) {
$('#d1').html(msg);$(".messagestable_text").css('width' , '100px');
});

mishgan 21.06.2013 23:24

Расширение Google Chrome выполняется какбы паралельно странице сайта. Из расширения есть доступ к элементам страницы. Сайт не мой , код изменить не могу.

vadim5june 21.06.2013 23:32

Цитата:

Сообщение от mishgan (Сообщение 257724)
Расширение Google Chrome выполняется какбы паралельно странице сайта. Из расширения есть доступ к элементам страницы. Сайт не мой , код изменить не могу.

Понял.
По моему довольно сложная задача-если там аяксом кто то подгружает то Вам конечно трудно определить момент подгрузки-если знаете что именно должно быть загружено то может с помощью таймера периодически проверять


Часовой пояс GMT +3, время: 11:08.