Avatar billede oasen Nybegynder
27. april 2003 - 04:02 Der er 13 kommentarer og
1 løsning

Hent kildekode fra anden side

Jeg har set på http://www.html.dk/scripts/javascript/00027/ hvor det er muligt at hente en kildekode ind i Notepad.

Jeg kunne dog tænke mig en mindre revidering.
Man indtaster URL'en i et felt (som det er nu) og trykker på submit. Men inden formularen submittes, hentes kildekoden ind i et skjult felt, som så kan aflæses serverside bagefter.

Sikkert ikke så svært men jeg kan ikke få det til at fungere..
Avatar billede =maddog= Nybegynder
27. april 2003 - 05:21 #1
Jamen du anvender jo bare view-source: protokollen til at hente kilden lokalt. Det eneste scriptet gør er at sætte url'en til
viewsource:http://www.whatever.something.foo
og resten sker browser-afhængigt og lokalt.
Avatar billede =maddog= Nybegynder
27. april 2003 - 05:25 #2
view-source:http://www.whatever.something.foo
selvfølgelig.
Avatar billede raffar Juniormester
27. april 2003 - 05:34 #3
Lytter lige med..
Avatar billede =maddog= Nybegynder
27. april 2003 - 05:37 #4
function readFile(url) {
  var req;
  if (document.all){
    req = new ActiveXObject("Microsoft.XMLHTTP");
  } else if (document.getElementById && !document.all){
    req = new XMLHttpRequest();
  } else {
    return false;
  }
  req.open("GET",url,false);
  req.send(null);
  return req.responseText;
}

function viewSource() {
    str = "";
    try {
        str = readFile(document.getSource.url.value);
    } catch(e) {
          str="Error. Possibly Access denied or 404: "+e.message;
    }
    alert(str);
}

Sådan der virker det. Her alert'er den bare kilden.
Jeg ville sende det med et hidden felt under submit og bruge POST. Du kan max sende 4000 bytes med en get på normale servere.
Avatar billede =maddog= Nybegynder
27. april 2003 - 05:40 #5
Mon ikke det er et svar værd. Du skal skifte det der script ud med det i html.dk's eksempel.
Avatar billede oasen Nybegynder
29. april 2003 - 20:22 #6
Jo, det virker! Men jeg kan ikke få kildekoden til at blive sendt med post. Det eneste, der sendes er meddelelsen: "Error. Possibly Access denied or 404:"

Er det fordi, der skal noget timeout på eller?


................

function viewSource() {
    str = "";
    try {
        str = readFile(document.getSource.url.value);
    } catch(e) {
          str= "Error. Possibly Access denied or 404: "+e.message;
    }
    document.getSource.source.value = str;
}

//  Slut -->
</script>

</head>
<body>

<p>Indtast den fulde URL til siden og klik "Vis kilde"</p>
<form name="getSource" onSubmit="return viewSource();" action="" method="post">
    <div>
    <input type="text" name="url" value="http://" />
    <input type="submit" name="view" value="Vis kilde" />
    <input type="hidden" name="source">
    </div>
</form>

....................
Avatar billede =maddog= Nybegynder
29. april 2003 - 20:29 #7
hulens.
Jeg bliver nød til at kigge på det senere.
Avatar billede oasen Nybegynder
29. april 2003 - 20:31 #8
Ja, men dit oprindelige eksempel virker perfekt. Blot ikke når jeg skal have det sendt...
Avatar billede =maddog= Nybegynder
29. april 2003 - 21:31 #9
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>Untitled</title>
    <script type="text/javascript">
    function readFile(url) {
        var req;
        if (document.all){
            req = new ActiveXObject("Microsoft.XMLHTTP");
        } else if (document.getElementById && !document.all) {
            req = new XMLHttpRequest();
        } else {
            return false;
        }
        req.open("GET",url,false);
        req.send(null);
        return req.responseText;
    }
    function viewSource() {
        try {
            document.forms.getSource.source.value = readFile(document.forms.getSource.url.value);
            document.forms.getSource.submit();
        } catch(e) {
              alert("Error. Possibly Access denied or 404: "+e.message);
        }
    }
    </script>
</head>
<body>
<p>Indtast den fulde URL til siden og klik "Vis kilde"</p>
<form name="getSource" onSubmit="return false;" action="http://www.mycgiserver.com/servlet/maddog.RequestReport" method="post">
    <div>
    <input type="text" name="url" value="http://" />
    <input type="submit" onclick="viewSource()" name="view" value="Vis kilde" />
    <input type="hidden" name="source">
    </div>
</form>
</body>
</html>
Avatar billede oasen Nybegynder
29. april 2003 - 21:36 #10
Nu gik FTP-serveren selvfølgelig ned...

http://www.mycgiserver.com/servlet/maddog.RequestReport ?
Avatar billede =maddog= Nybegynder
29. april 2003 - 21:38 #11
en servlet jeg bruger til at se en request med. fin lille ting når man skal se om data kommer igennem og hvilken form de er på.
Avatar billede =maddog= Nybegynder
29. april 2003 - 21:39 #12
du er velkommen til at bruge den.
Avatar billede oasen Nybegynder
01. maj 2003 - 08:53 #13
Mange tak :)
Avatar billede =maddog= Nybegynder
01. maj 2003 - 09:02 #14
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester