|
Загрузить текст с другой страницы, и занести его в переменну
|
|
| akkolt | Дата: 19 Июля 2010, 17:54 | Сообщение # 1 | ● ● ● ● ● 106 сообщений Статус: Offline | Такое возможно? если да, то каким образом? | | |
|
| cucYa | Дата: 19 Июля 2010, 18:19 | Сообщение # 2 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Code $.get('URL другой страницы', function (data) { var foo = $('#someID', data).text(); }); | | |
|
| akkolt | Дата: 19 Июля 2010, 18:35 | Сообщение # 3 | ● ● ● ● ● 106 сообщений Статус: Offline | ах точно, спасибоДобавлено (19 Июль 2010, 18:35) --------------------------------------------- переменная foo локальна для данной функции? как вынести её за функцию? | | |
|
| Infamous | Дата: 19 Июля 2010, 18:41 | Сообщение # 4 |  ● ● ● ● ● 1670 сообщений Статус: Offline | | | |
|
| akkolt | Отредактировал akkolt - Понедельник, 19 Июля 2010, 18:50 Дата: 19 Июля 2010, 18:50 | Сообщение # 5 | ● ● ● ● ● 106 сообщений Статус: Offline | что за window.? можно подробнее? ) | | |
|
| Infamous | Дата: 19 Июля 2010, 18:51 | Сообщение # 6 |  ● ● ● ● ● 1670 сообщений Статус: Offline | Это такой объект с глобальными переменными. | | |
|
| akkolt | Отредактировал akkolt - Понедельник, 19 Июля 2010, 18:57 Дата: 19 Июля 2010, 18:55 | Сообщение # 7 | ● ● ● ● ● 106 сообщений Статус: Offline | Code $.get('URL другой страницы', function (data) { var foo = $('#someID', data).text(); }); var b = window.foo ? | | |
|
| Infamous | Отредактировал Infamous - Понедельник, 19 Июля 2010, 18:59 Дата: 19 Июля 2010, 18:58 | Сообщение # 8 |  ● ● ● ● ● 1670 сообщений Статус: Offline | Что за бред? Code $.get('URL другой страницы', function (data) { window.foo = $('#someID', data).text(); }); Учитывай, что AJAX кагбэ асихнхронный, и такой код Code $.get('URL другой страницы', function (data) { window.foo = $('#someID', data).text(); }); alert(foo); написать не получится, т.к. foo присвоится только когда запрос будет выполнен, а alert — сразу. | | |
|
| akkolt | Отредактировал akkolt - Понедельник, 19 Июля 2010, 19:07 Дата: 19 Июля 2010, 19:09 | Сообщение # 9 | ● ● ● ● ● 106 сообщений Статус: Offline | Quote Code $.get('URL другой страницы', function (data) { window.foo = $('#someID', data).text(); }); alert(foo); написать не получится, т.к. foo присвоится только когда запрос будет выполнен, а alert — сразу. как же написать?Добавлено (19 Июль 2010, 19:09) --------------------------------------------- запрос в jquery в принципе должен выполняться тоже сразу, или здесь учитывается время загрузки со страницы и другие подобные вещи? | | |
|
| Infamous | Отредактировал Infamous - Понедельник, 19 Июля 2010, 19:09 Дата: 19 Июля 2010, 19:09 | Сообщение # 10 |  ● ● ● ● ● 1670 сообщений Статус: Offline | Ты понимаешь смысл слова "асинхронный"? | | |
|
| akkolt | Дата: 19 Июля 2010, 19:16 | Сообщение # 11 | ● ● ● ● ● 106 сообщений Статус: Offline | понимаю, я не понимаю, как с ней бороться? | | |
|
| Infamous | Дата: 19 Июля 2010, 19:20 | Сообщение # 12 |  ● ● ● ● ● 1670 сообщений Статус: Offline | Вынос ответа сервера в глобальную переменную никогда не пригодится, всё можно сделать в callback. Хотя, если тебе неймётся, то можно проверять readyState запроса в setInterval. Code var req = $.get( ну и тут твои параметры ); setInterval(function () { if ( req.readyState == 4 ) // а тут работаем с переменной foo }, 30); Идиотизм, не правда ли? | | |
|
| akkolt | Дата: 19 Июля 2010, 19:34 | Сообщение # 13 | ● ● ● ● ● 106 сообщений Статус: Offline | Quote Вынос ответа сервера в глобальную переменную никогда не пригодится, всё можно сделать в callback. не понимаю, можно пример? | | |
|
| Infamous | Дата: 19 Июля 2010, 19:44 | Сообщение # 14 |  ● ● ● ● ● 1670 сообщений Статус: Offline | Code $.get('URL другой страницы', function (data) { // Это и есть callback! }); | | |
|
| akkolt | Дата: 19 Июля 2010, 19:47 | Сообщение # 15 | ● ● ● ● ● 106 сообщений Статус: Offline | Infamous, ну в этом случае гет загружает URL другой страницы по непонятной мне причине, будь всё гладко, я бы и сам так поступил | | |
|
| Infamous | Дата: 19 Июля 2010, 19:49 | Сообщение # 16 |  ● ● ● ● ● 1670 сообщений Статус: Offline | ну в этом случае гет загружает URL другой страницы по непонятной мне причине Может это для тебя новость, но гет для того и сделан, чтобы загружать URL другой страницы. | | |
|
| akkolt | Отредактировал akkolt - Понедельник, 19 Июля 2010, 20:02 Дата: 19 Июля 2010, 19:51 | Сообщение # 17 | ● ● ● ● ● 106 сообщений Статус: Offline | Infamous, он перенаправляет на другую страницу Code $.get('URL', function (data) { var y = $('#oth', data).text(); var re = "$USER_ID$"; var autor1 = "$USERNAME$"; var autor2 = "akkolt"; var found = y.match( re ); if( found == null ){ if( autor1 == autor2 ){ document.write("<div style='float:right; width:auto; background-position:right; background-repeat:no-repeat'>Текст</div>"); }else{ document.write("<span style='color:#AFAFAF; text-decoration:none; font-size:8px; vertical-align:bottom; padding:11px;'>Edit</span>"); } }else{ document.write("<div style='float:right; width:auto; background-position:right; background-repeat:no-repeat'>Текст</div>"); } }); Тут видно, что загружается, и что сравнивается, так вот, не успевает произойти сравнение, как пользователя перебрасывает на другую страницу | | |
|
| Infamous | Дата: 19 Июля 2010, 20:06 | Сообщение # 18 |  ● ● ● ● ● 1670 сообщений Статус: Offline | Если document.write прописать после загрузки DOM, то он затрёт своим содержимым всю страницу. | | |
|
| akkolt | Дата: 19 Июля 2010, 20:12 | Сообщение # 19 | ● ● ● ● ● 106 сообщений Статус: Offline | вот поэтому мне и нужна была глобальная переменная, или как еще его прописать до загрузки? | | |
|
| Infamous | Дата: 19 Июля 2010, 20:16 | Сообщение # 20 |  ● ● ● ● ● 1670 сообщений Статус: Offline | Code <div id="foo"> </div> <script type="text/javascript"> $.get("URL", function ( data ) { $('#foo').html( data ); }); </script> | | |
|