79

I would like to retrieve the following sites body content http://sports.espn.go.com/nhl/bottomline/scores?nhl_s_left1 and store it in a string, i know and am successful at retrieving this using php, however i want to restrict to using only javascript, is there a way just to take the string in the site and copy it and store it in a var?

Zak
  • 934
  • 1
  • 9
  • 12
  • It's problematic to get content from remote page, but you can check this solution: http://stackoverflow.com/a/3076648/3208639. – damian004 Sep 26 '14 at 20:23
  • 2
    Hey, Zak, I know it's been 8 years, buuuuut, maybe think about changing the accepted answer? I hate downvoting old answers because they're essentially wrong. =\ – HoldOffHunger Nov 24 '22 at 01:23

3 Answers3

161

Although the @Brendan's answer is accepted and correct.

It is simple, short and faster enough to get a body element using

document.body;

It does the same as we can do with document.getElementsByTagName('body')[0];, and it should be in the list of answers.

Lalit Mohan
  • 2,685
  • 2
  • 16
  • 16
66

Try this:

<script>
window.onload = function get_body() {

  body = document.getElementsByTagName('body')[0];
}

</script>

Allow me to explain. The window.onload is so that the HTML loads before the script is executed. Even though there is only one body tag this is the method i use^. Basically, it finds the "first" body tag there is, then I tell it to just get the body element itself and not all the other attributes and child nodes that go along with it using an index of [0]. If you want everything to do with the body tag then lose the index of 0. Hope this Helps!

Brendan
  • 1,399
  • 1
  • 12
  • 18
3

Yet another option:

let body = document.querySelector("body");
jo3rn
  • 1,291
  • 1
  • 11
  • 28