Verkar ju fungera kanon! En fråga dock... "PDF.PdfCtrl.5" har det ngt med att den bara kollar om man har version 5 eller räcker det med att man ha 4 installerat?? Om man vill kolla andra program hur gör man då? Finns det ngt generellt sätt hur man skall tänka för att lista ut hur man kollar samtliga program?
"PDF.PdfCtrl.5" har det ngt med att den bara kollar om man har version 5 eller räcker det med att man ha 4 installerat??
PDF.PdfCtrl.5 representerar endast version 5. Vill du testa för version 4 får du använda PDF.PdfCtrl.1.
Finns det ngt generellt sätt hur man skall tänka för att lista ut hur man kollar samtliga program?
Nja, möjligtvis skulle du kunna ta dig en titt i registret under HKEY_CLASSES_ROOT, leta fram filändelsen för det program du vill testa och läsa av datat för "(Standard)". Inga garantier dock
Får inte helt rätt på det... ingen höjdare på JavaScript.
Skall plocka in inStr från QueryStringen som är ett filnamn (t ex test.pdf). Om acrobat 5 eller 4 finns installeras öppnas denna filen annars blir man vidareskickad till test.htm.
On Error Resume Next
If IsObject(CreateObject("PDF.PdfCtrl.5")) OR IsObject(CreateObject("PDF.PdfCtrl.1")) Then
Response.Redirect(Request.QueryString("file"))
Else
Response.Redirect("test.html")
End If
ok tackar för all hjälp men jag har fortfarande inte knåpat ihop en lösning på det hela.
RGB:s första svar fast hjälp med följande:
- inplockning av filnamn (via request.querystring el motsvarande, t ex test.pdf som skall öppnas om allt är ok)
- kolla om antigen Acrobat Reader 4 eller 5 finns installerat
'<s'+'cript language=vbscript>\n ON ERROR RESUME NEXT \n inst = IsObject(CreateObject("PDF.PdfCtrl.5"))</scr'+'ipt>\n'
Mot
'<s'+'cript language=vbscript>\n '+
' ON ERROR RESUME NEXT \n '+
' If IsObject(CreateObject("PDF.PdfCtrl.1")) Then inst = true \n'+
' If IsObject(CreateObject("PDF.PdfCtrl.5")) Then inst = true \n'+
'</scr'+'ipt>\n'
Sen så lägger du till en funktion som plockar ut det du vill ur söksträngen tex
/**
* Används för att plocka ut en del av en fråga.
* för att plocka ut värdet för xxx ur ?www=80&xxx=90
* använder du parseqs("xxx")
*/
function parseqs(lookup)
{
var qa = location.search.split("&");
for(i = 0; i < qa.length; i++)
{
if(qa[i].substring(0,1)=="?")
{qa[i] = qa[i].substr(1, qa[i].length-1);}
if(qa[i].toLowerCase().indexOf((lookup+"=")) == 0)
{return qa[i].split("=")[1];}
}
return "";
}
Sedan så är det väl bara att hålla tummarna och testa...