JS: Učitavanje html koda neke spoljašnje stranice u div tag na mojoj stranici

  • 7 odgovora
  • 3.600 pregleda
JS: Učitavanje html koda neke spoljašnje stranice u div tag na mojoj stranici 31.03.2008. u 15:54 · pre 225 meseci #1
Sledi kod koji sam do sada našao. On radi baš ono što meni treba, ali taj kod radi samo u Internet Exporeru, a potrebno je da radi i u ostalim browserima.
Evi ih dve bitne funkcije:

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Test</title>
        <script language="JavaScript" type="text/javascript">
        <!--
        function getXmlHttp()
        {
            var xmlhttp=false;
            /*@cc_on @*/
            /*@if (@_jscript_version >= 5)
            // JScript gives us Conditional compilation, we can cope with old IE versions.
            // and security blocked creation of the objects.
            try
            {
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
            }
             catch (e)
             {
                  try
                  {
                       xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                  }
                catch (E)
                {
                       xmlhttp = false;
                  }
             }
            @end @*/
            
            if (!xmlhttp && typeof XMLHttpRequest!='undefined')
            {
             xmlhttp = new XMLHttpRequest();
            }
            return xmlhttp
        }
        function feedDivWithHTML ( elementID, targetURL )
        {
            var xmlhttp = getXmlHttp();
            if ( xmlhttp )
             {
                 var loader = document.getElementById( elementID + "Loading" );
                 xmlhttp.open("GET", targetURL , true);
                 xmlhttp.onreadystatechange=function()
                 {
                  if (xmlhttp.readyState==4)
                      {
                           var mainDiv = document.getElementById(elementID);
                        mainDiv.innerHTML = xmlhttp.responseText;
                        
                      }
                 }
                 xmlhttp.send(null)
             }
        }
    //-->
    </script>
</head>


E, da bih ih pozvao koristim ovaj kod:
Code:

<body>

    <div id="TargetDiv"></div>
    <script language="JavaScript" type="text/javascript">
    <!--
        feedDivWithHTML ( 'TargetDiv', 'http://urlMojeStrane' );
    //-->
    </script>

</body>
</html>

Dakle, ovo će pozvati neku stranicu sa "MojeStrane" i ono što dobije( html kod) smestiti u <div> tag.
Problem je u dobijanju html koda druge neke stranice - taj deo radi u IEu ali ne radi u ostalim browserima... Kako to da ispravim?

Uzgred, ovo MORA da radi u html stranicama, da ne mora bilo bi lako uraditi preko PHPa, ASPa itd...
Potpis
Expert Opinions - Niche Articles
Re: JS: Učitavanje html koda neke spoljašnje stranice u div tag na mojoj stranici 31.03.2008. u 16:58 · pre 225 meseci #2
Kod kao takav izgleda potpuno u redu.
Koju stranu pokusavas da otvoris (http://urlMojeStrane)? XMLHttpRequest nece otvoriti stranu sa drugog domena (IE ce to da radi ako je stranica u lokalu, na webu i on daje "Permission denied"). Konkretno, ne mozes sa neke svoje strane na taj nacin prikazati npr www.google.com, mozes da otvaras samo strane koje su na tvom domenu.
Potpis
Never trust an operating system you don't have sources for.
Re: JS: Učitavanje html koda neke spoljašnje stranice u div tag na mojoj stranici 31.03.2008. u 18:26 · pre 225 meseci #3
1. Radi samo za IE jer se i pozivaju samo Microsoftove ActiveX komponente.

2. Možda je bolje rešenje da popunjavaš div.innerHTML jednim iframe-om koji će sadržati URL ka toj stranici.
Potpis
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
Re: JS: Učitavanje html koda neke spoljašnje stranice u div tag na mojoj stranici 31.03.2008. u 18:36 · pre 225 meseci #4
Hvala na odgovorima.

Ja hoću da napravim nešto za šta mi treba isti onaj princip kao dok google ads-a. Dakle da moja skripta( na mom sajtu se nalazi) generiše neki tekst i onda da se taj kod prikaže na stranici nekog ko koristi to što sam ja napravio.

Znači, sa iframe-om dobijem baš ono što želim, donekle. Za sada problem i jesam rešio preko iframe-a...

Citat:


2. Možda je bolje rešenje da popunjavaš div.innerHTML jednim iframe-om koji će sadržati URL ka toj stranici.

Ne razumem baš... Kako?


U svako slučaju hvala vam za odgovore.
Potpis
Expert Opinions - Niche Articles
Re: JS: Učitavanje html koda neke spoljašnje stranice u div tag na mojoj stranici 01.04.2008. u 07:56 · pre 225 meseci #5
Citat:
toxi_programer:
Ja hoću da napravim nešto za šta mi treba isti onaj princip kao dok google ads-a. Dakle da moja skripta( na mom sajtu se nalazi) generiše neki tekst i onda da se taj kod prikaže na stranici nekog ko koristi to što sam ja napravio.


To sigurno nece moci preko XMLHttpRequest-a. Pored toga da koristis iframe, moze da se na taj drugi sajt stavi javascript sa tvog servera, koji ce da prikaze sta je potrebno.


Citat:
mVeliki:
1. Radi samo za IE jer se i pozivaju samo Microsoftove ActiveX komponente.


Gornji skript radi u svim browserima, verovatno si prevideo zadnja tri reda funkcije getXmlHttp().
Potpis
Never trust an operating system you don't have sources for.
Re: JS: Učitavanje html koda neke spoljašnje stranice u div tag na mojoj stranici 01.04.2008. u 08:18 · pre 225 meseci #6
Ukoliko je potrebno asihrono ucitavanje strane ja bas nesto i nisam zadovoljan sa iframe metodom, ukoliko se dovlaci neki JS opet ce se desiti zastoj.

Mozda resenje moze biti jedan server-side skript koji bi dovukao sadrzaj udaljene strane. Znaci, nikako include vec fopen ili file_get_contents da bi se to i izvrsilo (sigurnosti radi). Ostaje jos da se aktivira eventualno dovucen JS kod...
Potpis
Moj Veb Sajt HostCentar Blog
Aleksinac Južna Srbija TimeOut
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme