Как получить весь текстовый контент веб-страницы в рамках iframe, используя JavaScript - PullRequest
0 голосов
/ 25 сентября 2011

Я хочу получить текст, содержащийся на веб-странице, в iframe.

Согласно существующему вопросу о SO, ниже приведен код javascript для получения содержимого веб-страницы в iframe -

var myIFrame = document.getElementById(iFrameName); // Creating an object of the iframe
var content = myIFrame.contentWindow.document.body.innerHTML; // Getting it's content into a variable

Проблема в том, что я хочу получить только текстовое содержимое веб-страницы в iframe. Я не хочу делать это, получая весь контент, а затем анализируя его, чтобы удалить изображения / ссылки и т. Д. Код выше содержит HTML-разметку в основной части веб-страницы --- Есть ли способ получить только текстовое содержимое веб-страницы в iframe?

1 Ответ

0 голосов
/ 25 сентября 2011
var myIFrame = document.getElementById(iFrameName); // Creating an object of the iframe
var myIFrameBody = myIFrame.contentWindow.document.body; // Getting it's body content into a variable    

function getStrings(n, s) {
   var txt, childNodes, child, max, m, i;

   if (n.nodeType === 3) {
      txt = trim(n.data);

      if (txt.length > 0) {
         s.push(txt);
      }
   } 
   else if (n.nodeType === 1) {
      for (i = 0, max = n.childNodes.length; i < max; i++) {
         child = n.childNodes[i];
         getStrings(child, s);
      }
   }
}

/**
 Extract the html text starting from a node n.
 */
function getText(n) {
   var s = [],
       result;

   getStrings(n, s);
   result = s.join(" ");

   return result;       
}

var myIFrameText = getText(myIFrameBody);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...