Помогите с ajax-iframe навигацией
Всем привет! :victory:
Сегодня от нефиг делать решил подебажить "ВКонтакте" :p И что мне стало интересно, что при переходе на другую страницу(например клик по внутренней ссылке) происходит не аякс-get запрос, а просто get(это хорошо видно в firefox’е - я вчера обновил его с 31 версии до 38, а в 38 видно разницу между xhr и простым запросом, в отличии от 31 :cray: И при этом iframe на странице я не заметил! :yes: Я не прошу мне сразу готовый код, дайте намек хотя бы :D Очень интересно как так сделать))) |
Оказывается там динамический iframe...
PS: Нашел в https://vk.com/js/al/common.js такой код(я его обернул в html файл, и вставил сюда минимальное количество функций с того скрипта для роботы "window.iframeTransport" без ошибок) <!doctype html> <html> <head> <meta charset="UTF-8"> <title>VK ajax-iframe transport</title> </head> <body> <div id="utils"></div> <script> function ge(el) { return (typeof el == 'string' || typeof el == 'number') ? document.getElementById(el) : el; } function ce(tagName, attr, style) { var el = document.createElement(tagName); if (attr) extend(el, attr); if (style) setStyle(el, style); return el; } function geByTag(searchTag, node) { node = ge(node) || document; return node.getElementsByTagName(searchTag); } function geByTag1(searchTag, node) { node = ge(node) || document; return node.querySelector && node.querySelector(searchTag) || geByTag(searchTag, node)[0]; } window.headNode = geByTag1('head'); extend(window, { icoNode: geByTag1('link', headNode), bodyNode: geByTag1('body'), htmlNode: geByTag1('html'), utilsNode: ge('utils'), _fixedNav: false, _tbLink: {} }); function extend() { var a = arguments, target = a[0] || {}, i = 1, l = a.length, deep = false, options; if (typeof target === 'boolean') { deep = target; target = a[1] || {}; i = 2; } if (typeof target !== 'object' && !isFunction(target)) target = {}; for (; i < l; ++i) { if ((options = a[i]) != null) { for (var name in options) { var src = target[name], copy = options[name]; if (target === copy) continue; if (deep && copy && typeof copy === 'object' && !copy.nodeType) { target[name] = extend(deep, src || (copy.length != null ? [] : {}), copy); } else if (copy !== undefined) { target[name] = copy; } } } } return target; } *!* window.iframeTransport = utilsNode.appendChild(ce('div', {innerHTML: '<iframe></iframe>'})).firstChild; */!* </script> </body> </html> помощь мне всеравно нужна) помогите))) |
Часовой пояс GMT +3, время: 01:07. |