Страницы: 1
Всем привет!
Суть проблемы: необходимо распарсить контент со страницы (по условиям задачи, никакое API не доступно, приходится парсить то, что сайт отдаёт обычному пользователю). Если речь идёт о статичном контенте, то проблемы нет, вот этот код справляется на ура:
var getRemoteDocument = function(url) { var remoteDoc = null; try { var request = new XMLHttpRequest(); request.open('GET', url, false); request.setRequestHeader("Content-Type", "text/html"); request.send(null); var responseHTML = request.responseText; remoteDoc = new DOMParser().parseFromString(responseHTML, "text/html"); } catch(e) { handleError(e); } return remoteDoc; }; var thatDoc = getRemoteDocument("http://remote-site.domain/url/");
Возможное решение: Есть такая штука песочница, где эти скрипты можно безопасно исполнять. Вроде как получается, что нужно создать свой объект window, к которому ранее полученный thatDoc будет привязан, а уже в его контексте будут выполняться скрипты, для которых он и будет виден как document. Но вот чего я не могу понять, так это как туда засунуть документ, к которому они должны применяться и как потом оттуда этот контент получить, грубо говоря в каком контексте вызывать тот же .querySelectorAll(mySelector) чтобы собрать все нужные добавленные узлы?
Или может я вообще не туда копаю и можно сделать как-то по другому?
Отсутствует
init
а так не подходит?
Run: function(event, type) { var url= "site.com"; window.content.document.location = url; setTimeout( this.ParsePage.bind(this), 1000 ); }, ParsePage: function(){ var doc = window.content.document; if(doc != null) { var res = doc.getElementById("tagid"); } }
Отсутствует
IVIAKC
Насколько я понимаю это заменит содержимое текущей вкладки браузера. А мне нужно как-то в фоне это сделать, как бы отдельным потоком. Желательно без открытия каких-либо видимых окон или вкладок вообще.
Отсутствует
просто тупо открывай во вкладке а саму вкладку скрой стилем чтоб не мешалась.ну и добавь автооткрытие пустой если закрывается предпоследняя вкладка чтоб ту не было видно.
Не, ну так тоже можно наверно. Но как-то это топорно немного получаеся. Хотелось как-то более "по фен шую" сделать :-)
Отсутствует
Страницы: 1