Avatar billede andreas13_fam Nybegynder
25. januar 2010 - 21:12 Der er 1 løsning

VBscript i JavaScript

Hej
Jeg skal have lavet et simpelt JavaScript som kan finde ud af om brugeren har Adobe SVG viewer installeret.
Dette skal, som jeg forstår, det gøres via VBscript (ikke et sprog jeg kender til).
Jeg vil derfor via JavaScript indsætte en VBscript kode sådan:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>TEST SITE</title>
<!-- ====================  Meta data  ==================== -->
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="Content-Language" content="da">
<!-- ==================  File includes  ================== -->
    <script type="text/javascript">
        function SVGfunction () {
            if (document.all) {
                var vbscript  = "\r\n" + "function SVGplugin()" + "\r\n";
                    vbscript += "\t"  + "on error resume next" + "\r\n";
                    vbscript += "\t"  + "SVGplugin = IsObject(CreateObject('Adobe.SVGCtl'))" + "\r\n";
                    vbscript += ""    + "end function" + "\r\n";
               
                var script = document.createElement('script');
                    script.setAttribute('type','text/vbscript');
                    script.text = vbscript;
                document.getElementsByTagName('head')[0].appendChild(script);
                alert((typeof SVGplugin() == 'undefined') ? false : true);
            }
        }
        window.onload = function () {
            SVGfunction();
        };
    </script>
</head>
<body>
    TEST
</body>
</html>


Men jeg for en sjov fejl:

Detaljer om fejl på websiden

Brugeragent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; MathPlayer 2.10d; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; .NET CLR 1.1.4322)
Tidsstempling: Mon, 25 Jan 2010 20:09:05 UTC


Meddelelse: Der er en syntaksfejl
Linje: 34534276
Tegn: 36
Kode: 0
URI: http://localhost/svg/


Meddelelse: Et objekt var ventet
Linje: 12
Tegn: 3
Kode: 0
URI: http://localhost/svg/svgtest.js

Hvorfor er der en syntaksfejl på linje 34534276 ?

PS: scriptet skal kun fungere i IE
Avatar billede andreas13_fam Nybegynder
26. januar 2010 - 08:15 #1
Jeg fandt en løsning:
SVGplugin = IsObject(CreateObject('Adobe.SVGCtl'))
Skal skrives med " så det bliver
SVGplugin = IsObject(CreateObject("Adobe.SVGCtl"))


function SVGfunction () {
    if (document.all) {
        var vbscript  = "\r\n" + "function SVGplugin()" + "\r\n";
            vbscript += "\t"  + "on error resume next" + "\r\n";
            vbscript += "\t"  + "SVGplugin = IsObject(CreateObject(\"Adobe.SVGCtl\"))" + "\r\n";
            vbscript += ""    + "end function" + "\r\n";
       
        var script = document.createElement('script');
            script.setAttribute('type','text/vbscript');
            script.text = vbscript;
        document.getElementsByTagName('head')[0].appendChild(script);
        alert((typeof SVGplugin() == 'undefined') ? false : true);
    }
}
window.onload = function () {
    SVGfunction();
};
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