Avatar billede muuu Nybegynder
13. august 2003 - 12:36 Der er 33 kommentarer og
2 løsninger

VBscript til Javascript

Jeg skal bruge et java script som kan det samme som dette VBscript:

<html>
<head>
<title>???</title>

<script language="VBScript">
sub Document_OnClick()

dim eSrc, IE
set eSrc = window.event.srcElement
Set IE = CreateObject("InternetExplorer.Application")
test02 = eSrc.info01

if eSrc.className = "86" then

With IE
        .left=0
        .top=0
        .height=715
        .width=865
        .menubar=0
        .toolbar=0
        .statusBar=0
        .navigate "About:Blank"
        .visible=1
End With

Do while IE.busy
loop

With IE.document
        .Open
        .WriteLn "<HTML><HEAD>"
        .WriteLn "<TITLE></TITLE></HEAD>"
        .WriteLn "<BODY>"
        .WriteLn "<a href=Luk>Luk</a>"
        .WriteLn "<center><b><img src=" & test02 & "></img></b></center>"
        .WriteLn "</BODY>"
        .WriteLn "</HTML>"
        .Close
End With

    end if

if eSrc.className = "107" then


With IE
        .left=0
        .top=0
        .height=883
        .width=1089
        .menubar=0
        .toolbar=0
        .statusBar=0
        .navigate "About:Blank"
        .visible=1
End With

Do while IE.busy
loop

With IE.document
        .Open
        .WriteLn "<HTML><HEAD>"
        .WriteLn "<TITLE></TITLE></HEAD>"
        .WriteLn "<BODY>"
        .WriteLn "<center><b><img src=" & test02 & "></img></b></center>"
        .WriteLn "</BODY>"
        .WriteLn "</HTML>"
        .Close
End With

    end if

Set IE = Nothing
end sub   

</script>

</head>

<body>
<br>
<a href=Luk>Luk</a>
<center><a href="#" class="86" info01="0001.jpg">Dette er en test</a></center>
<center><a href="#" class="107" info01="0002.jpg">Dette er en test</a></center>

</body>
</html>
Avatar billede muuu Nybegynder
13. august 2003 - 12:38 #1
Ups jeg skal ikke bruge "<a href=Luk>Luk</a>"
Avatar billede muuu Nybegynder
13. august 2003 - 12:43 #2
Jeg har editet den lidt!

<html>
<head>
<title>???</title>

<script language="VBScript">
sub Document_OnClick()

dim eSrc, IE
set eSrc = window.event.srcElement
Set IE = CreateObject("InternetExplorer.Application")
if eSrc.className = "86" then
test02 = eSrc.info01
With IE
        .left=0
        .top=0
        .height=715
        .width=865
        .menubar=0
        .toolbar=0
        .statusBar=0
        .navigate "About:Blank"
        .visible=1
End With

Do while IE.busy
loop

With IE.document
        .Open
        .WriteLn "<HTML><HEAD>"
        .WriteLn "<TITLE></TITLE></HEAD>"
        .WriteLn "<BODY>"
        .WriteLn "<center><b><img src=" & test02 & "></img></b></center>"
        .WriteLn "</BODY>"
        .WriteLn "</HTML>"
        .Close
End With

    end if

if eSrc.className = "107" then
test02 = eSrc.info01

With IE
        .left=0
        .top=0
        .height=883
        .width=1089
        .menubar=0
        .toolbar=0
        .statusBar=0
        .navigate "About:Blank"
        .visible=1
End With

Do while IE.busy
loop

With IE.document
        .Open
        .WriteLn "<HTML><HEAD>"
        .WriteLn "<TITLE></TITLE></HEAD>"
        .WriteLn "<BODY>"
        .WriteLn "<center><b><img src=" & test02 & "></img></b></center>"
        .WriteLn "</BODY>"
        .WriteLn "</HTML>"
        .Close
End With

    end if

Set IE = Nothing
end sub   

</script>

</head>

<body>
<br>
<center><a href="#" class="86" info01="0001.jpg">Dette er en test</a></center>
<center><a href="#" class="107" info01="0002.jpg">Dette er en test</a></center>

</body>
</html>
Avatar billede mm12010 Nybegynder
13. august 2003 - 12:48 #3
uden at vide helt præcist hvad det der VB gør - kommer der et gæt:

<html>
<head>
<script language="javascript" type="text/javascript">
function popPic(file){
    pic = new Image();
    pic.src = file;
    w = pic.width;
    h = pic.height;
    winTop = (screen.height - h - 100) / 2;
    winLeft = (screen.width - w) / 2;
    features = "height="+h+",width="+w+",top="+winTop+",left="+winLeft+",scrollbars=no,status=no";
    doc = "<html>";
    doc += "<head>";
    doc += "<title>PopUp Billede<\57title>";
    doc += "<\57head>";
    doc += "<body style=\"margin:0px;overflow:hidden;\">";
    doc += "<img src=\""+file+"\">";
    doc += "<\57body>";
    doc += "<\57html>";
    newWin=window.open("","Billede",features);
    newWin.document.write(doc);
    newWin.focus();
    }
</script>
</head>
<body>
<a href="java script:self.close();">Luk</a>
<center><a href="java script:popPic('0001.jpg')" class="86">Dette er en test</a></center>
<center><a href="java script:popPic('0002.jpg')" class="107">Dette er en test</a></center>
</body>
</html>
Avatar billede muuu Nybegynder
13. august 2003 - 13:20 #4
Ok, sorry for den dumme forklaring!

// her laver Internet explorer et vindu og fortæller hvor stort det skal være
// og hvilke menuer der skal være i det nye vindu (menu antal = igen eller 0)
With IE
        .left=0
        .top=0
        .height=200
        .width=200
        .menubar=0
        .toolbar=0
        .statusBar=0
        .navigate "About:Blank"
        .visible=1
End With
// slut

// her venter den på at Internet explorer bliver færdig
Do while IE.busy
loop
// slut

// og her laver den indholdet til siden
With IE.document
        .Open
        .WriteLn "<HTML><HEAD>"
        .WriteLn "<TITLE></TITLE></HEAD>"
        .WriteLn "<BODY>"
        .WriteLn "<center><b><img src=" & test02 & "></img></b></center>"
        .WriteLn "</BODY>"
        .WriteLn "</HTML>"
        .Close
End With
// slut

// og så bliver det vist i det 200*200 vindu

Den laver en ny hjemmeside med et billed i, på baggrund af class="" og info01="0001.jpg"
(men den gemmer ikke siden og det skal den heller ikke)
Avatar billede mm12010 Nybegynder
13. august 2003 - 13:28 #5
så burde min også virke hvis du ændre disse linier:
    pic = new Image();
    pic.src = file;
    w = pic.width;
    h = pic.height;
til:
    w = 200;
    h = 200;
Avatar billede roenving Novice
13. august 2003 - 13:30 #6
>>mm12010

Umiddelbart ser det jo ud til at du har fat det rigtige, du har dog glemt .close() -- og der er nogle fejl i kaldet, så:

1. et snip:

    newWin=window.open("","Billede",features);
    newWin.document.write(doc);
    newWin.document.close();
    newWin.focus();
 
2. Endnu et snip:

<center><a href="java script:popPic('0001.jpg') class="86">Dette er en test</a></center>
<center><a href="java script:popPic('0002.jpg') class="107">Dette er en test</a></center>

-- måske skal class også med i kaldet ?-)
Avatar billede roenving Novice
13. august 2003 - 13:30 #7
Hov !-)

<center><a href="java script:popPic('0001.jpg')" class="86">Dette er en test</a></center>
<center><a href="java script:popPic('0002.jpg')" class="107">Dette er en test</a></center>
Avatar billede roenving Novice
13. august 2003 - 13:31 #8
What ??-|
<center><a href="java script:popPic('0001.jpg');" class="86">Dette er en test</a></center>
<center><a href="java script:popPic('0002.jpg');" class="107">Dette er en test</a></center>
Avatar billede roenving Novice
13. august 2003 - 13:32 #9
Den ændrede sekvensen apostrof-parantes-slut-gåseøjne til kun gåseøjene ??
Avatar billede mm12010 Nybegynder
13. august 2003 - 13:38 #10
roenving >>
jeg tænkte at eftersom jeg sender filnavnet med som parameter, behøvede jeg ikke className, da det eneste det bliver brugt til er at bestemme filnavet

hvad gør denne godt for?
newWin.document.close();
Avatar billede muuu Nybegynder
13. august 2003 - 13:42 #11
Tak jeg se på det lidt først ok ?
Avatar billede muuu Nybegynder
13. august 2003 - 13:42 #12
Ups :D
Avatar billede muuu Nybegynder
13. august 2003 - 13:54 #13
Tak jeg tror det virker nu!
prøv dette:

<html>
<head>
<script language="javascript" type="text/javascript">
function popPic(file){
    pic = new Image();
    pic.src = file;
    w = pic.width;
    h = pic.height + 20;
    winTop = (screen.height - h) / 2;
    winLeft = (screen.width - w) / 2;
    features = "height="+h+",width="+w+",top="+winTop+",left="+winLeft+",scrollbars=no,status=no";
    doc = "<html>";
    doc += "<head>";
    doc += "<title>PopUp Billede<\57title>";
    doc += "<\57head>";
    doc += "<body style=\"margin:0px;overflow:hidden;\">";
    doc += "<img src=\""+file+"\">";
    doc += "<br>";
    doc += '<center><b><a href="java script:self.close();">Luk</a></b></center>';
    doc += "<\57body>";
    doc += "<\57html>";
    newWin=window.open("","Billede",features);
    newWin.document.write(doc);
    newWin.document.close();
    newWin.focus();

    }
</script>
</head>
<body>
<center><a href="java script:popPic('http://www.bymyself.1go.dk/billeder/awp_dump0001.jpg');">Dette er test01</a></center>
<center><a href="java script:popPic('http://www.bymyself.1go.dk/billeder/awp_dump0002.jpg');">Dette er test02</a></center>
<a href="java script:self.close();">Luk</a>
</body>
</html>
Avatar billede muuu Nybegynder
13. august 2003 - 13:55 #14
noget andet hvorfor \57
eks: <\57body>
Avatar billede roenving Novice
13. august 2003 - 13:57 #15
Fordi lukning af tags kan forvirre fortolkeren, så det er bedst at undgå dem, selvom de er indeholdt i en tekststreng ...

>>document.close() sørger for, at browseren fortolker data-strømmen som afsluttet og derfor afslutter renderingen af siden -- bl.a. i dette tilfælde burde det give problemer med at sætte vinduet i focus !-)
Avatar billede mm12010 Nybegynder
13. august 2003 - 13:58 #16
det er oktal-værdien for /
Avatar billede mm12010 Nybegynder
13. august 2003 - 14:00 #17
her er en mere præcis oversættelse af VB'en:

<html>
<head>
<script language="javascript" type="text/javascript">
function popPic(file,cl){
    alert(cl);
    if(cl == "86"){
        w = 865;
        h = 715;
        }
    else if(cl == "107"){
        w = 1089;
        h = 883;
        }
    winTop = 0;
    winLeft = 0;
    features = "height="+h+",width="+w+",top="+winTop+",left="+winLeft+",scrollbars=no,status=no";
    doc = "<html>";
    doc += "<head>";
    doc += "<title>PopUp Billede<\57title>";
    doc += "<\57head>";
    doc += "<body style=\"margin:0px;overflow:hidden;\">";
    doc += "<img src=\""+file+"\">";
    doc += "<\57body>";
    doc += "<\57html>";
    newWin=window.open("","Billede",features);
    newWin.document.write(doc);
    newWin.focus();
    }
</script>
</head>
<body>
<a href="java script:self.close();">Luk</a>
<center><a href="java script:popPic('http://www.bymyself.1go.dk/billeder/awp_dump0001.jpg',document.getElementById('link1').className)" class="86" id="link1">Dette er en test</a></center>
<center><a href="#" onClick="java script:popPic('http://www.bymyself.1go.dk/billeder/awp_dump0002.jpg',this.className)" class="107">Dette er en test</a></center>
</body>
</html>
Avatar billede mm12010 Nybegynder
13. august 2003 - 14:02 #18
selvfølgelig uden:  alert(cl);  :o)
Avatar billede muuu Nybegynder
13. august 2003 - 14:03 #19
jeg har et problem, første gang man åbner et billed bliver det 20-50*800
Avatar billede mm12010 Nybegynder
13. august 2003 - 14:04 #20
20-50*800?
Avatar billede muuu Nybegynder
13. august 2003 - 14:07 #21
20 til 50 pix i højde
Avatar billede roenving Novice
13. august 2003 - 14:07 #22
>>mm

-- så kan vi jo ligesågodt gennemføre den gode stil ( \" kan fortolkes forkert i visse miljøer !-)

    doc += "<body style='margin:0px;overflow:hidden;'>";
    doc += "<img src='"+file+"'>";

Denne kan _ikke_ fejlfortolkes af javascript !o]
Avatar billede roenving Novice
13. august 2003 - 14:09 #23
Den virker nu -- og få lige den sidste med og fjern alerten, så: Bingo !-)
Avatar billede muuu Nybegynder
13. august 2003 - 14:12 #24
den sidste ???
Avatar billede mm12010 Nybegynder
13. august 2003 - 14:13 #25
roenving >> det forstår jeg ikke...?
Avatar billede muuu Nybegynder
13. august 2003 - 14:15 #26
Jeg har stadig samme problem
Avatar billede roenving Novice
13. august 2003 - 14:17 #27
Bruge de to linjer jeg kom med sidst i stedet for de to, som er i mm's script escape-sekvenser virker ikke ens overalt, men det gør fidusen med at bruge javascripts to forskellige streng-delimiters !-)

>>muuu
Har du prøvet mm's sidste udgave ?-)
Avatar billede muuu Nybegynder
13. august 2003 - 14:19 #28
Jeg prøver nu
Avatar billede muuu Nybegynder
13. august 2003 - 14:22 #29
Det lader til at det virker men nu vil jeg bruge lidt tid til at teste det(ca: 10-15 min)
Avatar billede muuu Nybegynder
13. august 2003 - 14:54 #30
Tak til jer begge to

hvis i skriver et svar hver så kan i dele points.
Avatar billede roenving Novice
13. august 2003 - 15:16 #31
Velbekomme '-)
Avatar billede muuu Nybegynder
15. august 2003 - 10:43 #32
mm12010 vil du ikke have points ???
Avatar billede mm12010 Nybegynder
17. august 2003 - 09:52 #33
jo tak :o)
Avatar billede muuu Nybegynder
18. august 2003 - 11:08 #34
Sorry for vente tiden !
Avatar billede roenving Novice
18. august 2003 - 11:37 #35
-- tak for points ;~}
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