Вопрос по многофреймовой структуре
Только начал разбираться в асинихронном JavaScript
Есть многофреймовый документ main.html <HTML><HEAD><meta http-equiv='Content-Type' content='text/html;'> </HEAD> <frameset rows="80%,20%" frameborder="0"> <frame name="displayFrame" src="display.html" noresize="noresize" /> <frame name="hiddenFrame" src="about:blank" noresize="noresize" /> </frameset> </HTML> Невидимый фрейм hiddenFrame предназначен для асинхронного доступа к любому ресурсу (в примере вконтакте) через свойство location Вот документ display.html <HTML><HEAD><meta http-equiv='Content-Type' content='text/html; charset=windows-1251'></HEAD> <BODY> <SCRIPT> function requestCustomerInfo(fun) { var sid = document.getElementById('txtCustomerId').value; var src = "https://api.vk.com/method/users.get?user_id="+sid+"&v=5.52"; alert(src+"-"+fun); top.frames["hiddenFrame"].onload=fun; top.frames["hiddenFrame"].location=src; //alert(top.frames["hiddenFrame"].document.body.innerHTML); alert(top.frames["hiddenFrame"].nodeValue); return; } function GetCustomerName() { alert("OOOOOO"); return; } </SCRIPT> Чтобы получить информацию о клиенте, введите его идентификационный номер:<BR> Идентификационный номер: <input type="text" id="txtCustomerId" value=""><BR> <input type="button" value="3апросить информацию о клиенте" onclick="requestCustomerInfo('GetCustomerName()')" > <div id="divCustomerInfo"></div> </BODY> </HTML> ВОПРОС! 1. КАК получить доступ к содержимому фрейма hiddenFrame где лежат данные о пользователе 2. КАК отловить событие onload фрейма hiddenFrame, когда эти данные уже пришли во фрейм. Понимаю, что вопросы тупейшие и простейшие, но никак не могу разобраться ЗАРАНЕЕ БЛАГОДАРЕН |
tasya53, отформатируй код
|
Господи, неужели никто не поможет!
КАК ПОСТРОИТЬ ССЫЛКУ НА ВСЕ СОДЕРЖИМОЕ СТРАНИЦЫ (https://api.vk.com/method/users.get?...5472603&v=5.52), ЗАГРУЖЕННОЙ ВО ФРЕЙМ (там всего одна строка)..... top.frames["hiddenFrame"].document.childNodes[0].innerHTML не дает содержимого - только пустые теги |
tasya53, и не так просто получить данные о пользователе:
- во-первых политика безопасности не даст доступа к фрейму с другого домена - во-вторых в вк надо регистрировать приложение и по нему получать согласие пользователя для доступа к его данным (по крайней мере раньше так было не думаю что что-то сильно поменялось) Не всё так просто в этой жизни мой друг Горацио. |
Попробуйте что ли для начала
НЕ ТРЕБУЕТСЯ НИКАКАЯ РЕГИСТРАЦИЯ! - эта операция не требует авторизации СОДЕРЖИМОЕ ДОКУМЕНТА У МЕНЯ ОТОБРАЖАЕТСЯ ВО ФРЕЙМЕ КАК ПОЛУЧИТЬ ССЫЛКУ НА СОДЕРЖИМОЕ ЭТОГО ДОКУМЕНТА? |
Rise,
В чем-то Вы наверное правы - загрузил локальный документ во фрейм и через top.frames["hiddenFrame"].document.firstChild.outerHTML получил его содержимое. А вот для вконтакте только вижу пустоту, хотя текст ответа во фрейме присутствует С чем это может быть связано? |
tasya53, так устроены браузеры.
|
Rise,
Если Вы понимаете в чем причина, подскажите, как всетаки вытянуть содержимое из фрейма - оно там есть, но в структуре документа пусто. Ведь откуда то строка ответа на экране берется Буду очень Вам признателен |
tasya53, никак.
|
На вскидку clipboarddata или переместить мышь, скопировать, вставить куда нужно, но я с этими методами никогда не работал
|
tasya53, поработай может поумнеешь, не все телодвижения можно повторить программно, браузер дает человеку больше привилегий чем скрипту, не знаю дано ли тебе это понять.
|
Ну в принципе, если низзя, но оч хочется, то можно...
Интересны аргументы, а зачем это всё ? И насколько автору интересно... |
Часовой пояс GMT +3, время: 16:32. |