Avatar billede alfred Nybegynder
07. maj 2002 - 14:38 Der er 25 kommentarer og
2 løsninger

ingen flash, men billede

hvordan laver jeg noget html som viser et billede istedet for at downloade en flashplugin?

Det skal ikke være noget med at den redirecter til en anden side eller noget i den stil, men blot en ændring af <object> tagget. Det vil sige at hvis der ikke er installeret flash så skal den bare vise en jpg eller gif i det område hvor flashen ellers skulle vises.
Avatar billede lykkeb Nybegynder
07. maj 2002 - 14:47 #1
Jeg kan ikke hjælpe dig, men prøv på http://www.script.dk/
Avatar billede alfred Nybegynder
07. maj 2002 - 14:49 #2
ok, havde måske håbet på et mere uddybende svar :-)
Avatar billede jette1 Nybegynder
07. maj 2002 - 14:53 #3
Jeg ved ikke hvor meget du kender til javascript, men jeg vil foreslå at du opretter to .js filer hvor den ene indeholder html-kode til billede, og den anden indeholder koden der indsætter flash.

Du kan så først bruge dette script til at finde ud af om brugeren har en flash plugin:

http://www.javascriptkit.com/script/script2/plugindetect.shtml

Hvis det er tilfældet loades flash.js og hvis ikke bruger du billede.js

Det var sådan lige i overordnede træk ... stil sp. hvis du vil vide mere
Avatar billede jette1 Nybegynder
07. maj 2002 - 14:54 #4
P.S Jeg har ikke selv afprøvet det script jeg linker til... fandt det lige hurtigt vha. Google..
Avatar billede jakoba Nybegynder
07. maj 2002 - 14:56 #5
du placerer blot en <img kommando (i samme størrelse) inden i din <object kommando.

Samtidig skal du så undgå den behavior flash ofte har med at ville opdatere. Det ved jeg ikke rigtig hvordan man gør. Men vent lidt. der kommer nok andre forbi der ved det.

mvh JakobA
Avatar billede jette1 Nybegynder
07. maj 2002 - 14:58 #6
Jeg ville da mene at opdateringen forhindres med min metode, da koden slet ikke indsættes medmindre brugeren har en plugin...
Avatar billede stringbuffer Nybegynder
07. maj 2002 - 15:02 #7
mener bare man skal undgå at indsætte codebase-atrributet i <object>, så henter den ikke flash. Altså:
<object classid="hvad-det-nu-end-er-for-flash">
<param name="movie" value="blabla.swf" />
<img alt="Billede, der vises istedet for flash" src="blabla.jpg" />
</object>

kan ikke huske hvordan det præcist er for flash med den dér classid og hvilke params den normalt skal have, men bare sørg for at der ikke er noget codebase
Avatar billede n!nja Nybegynder
07. maj 2002 - 15:06 #8
Indsæt dette i din header:
-----------------------------
<script language="JavaScript">
<!--
function MM_checkPlugin(plgIn, theURL, altURL, autoGo) { //v4.0
  var ok=false; document.MM_returnValue = false;
  with (navigator) if (appName.indexOf('Microsoft')==-1 || (plugins && plugins.length)) {
    ok=(plugins && plugins[plgIn]);
  } else if (appVersion.indexOf('3.1')==-1) { //not Netscape or Win3.1
    if (plgIn.indexOf("Flash")!=-1 && window.MM_flash!=null) ok=window.MM_flash;
    else if (plgIn.indexOf("Director")!=-1 && window.MM_dir!=null) ok=window.MM_dir;
    else ok=autoGo; }
  if (!ok) theURL=altURL; if (theURL) window.location=theURL;
}
//-->
</script>
---------------------
Og dette i din body:
---------------------
onLoad="MM_checkPlugin('Shockwave Flash','SideMedFlash','SideUdenFlash',true);return document.MM_returnValue"
--------------------
Så skal du bare lige selv angive sidenavnene der hvor der står "sidemadflash" og "sideudenflash"...
Avatar billede n!nja Nybegynder
07. maj 2002 - 15:09 #9
Ups... læste vist ikke dit spørgsmål ordenligt... ;-)
Avatar billede =maddog= Nybegynder
07. maj 2002 - 16:20 #10
anvend n1nja's script men istedet for gør sådan
<script>
function MM_checkPlugin(plgIn, theURL, altURL, autoGo) { //v4.0
// har ikke checket koden
  var ok=false;
  document.MM_returnValue = false;
  with (navigator) if (appName.indexOf('Microsoft')==-1 || (plugins && plugins.length)) {
    ok=(plugins && plugins[plgIn]);
  } else if (appVersion.indexOf('3.1')==-1) { //not Netscape or Win3.1
    if (plgIn.indexOf("Flash")!=-1 && window.MM_flash!=null) ok=window.MM_flash;
    else if (plgIn.indexOf("Director")!=-1 && window.MM_dir!=null) ok=window.MM_dir;
    else ok=autoGo; }
  return ok // nu skulle den returnere true, hvis der er Falsh installeret
}</script>
<body>
en masse HTML
<script>
if (MM_checkPlugin('Shockwave Flash')) {
document.writeln("<object cl .... alt det HTML der er i dit objekt");
} else {
document.writeln("<img src=\"alternativ.gif\">");
}
</script>
resten af din HTML
Avatar billede =maddog= Nybegynder
07. maj 2002 - 16:26 #11
kors hvor det kører. funktionen skal vel se sådan her ud
function MM_checkPlugin(plgIn) { //v4.0
// har ikke checket koden
  var ok=false;
  document.MM_returnValue = false;
  with (navigator) if (appName.indexOf('Microsoft')==-1 || (plugins && plugins.length)) {
    ok=(plugins && plugins[plgIn]);
  } else if (appVersion.indexOf('3.1')==-1) { //not Netscape or Win3.1
    if (plgIn.indexOf("Flash")!=-1 && window.MM_flash!=null) ok=window.MM_flash;
    else if (plgIn.indexOf("Director")!=-1 && window.MM_dir!=null) ok=window.MM_dir;
    }
  return ok // nu skulle den returnere true, hvis der er Falsh installeret
}
Avatar billede alfred Nybegynder
07. maj 2002 - 16:33 #12
ok, maddog, nu har jeg prøver begge versioner, men den siger noget om en uafsluttet strengkonstant....
Avatar billede =maddog= Nybegynder
07. maj 2002 - 16:36 #13
husk at hvis du har anførseltegn i en streng skal du have \ foran
"her er \"2\" anførseltegn i en streng!"
Avatar billede alfred Nybegynder
07. maj 2002 - 16:43 #14
nåeh, ok. Kigger lige på det senere - har ikke mere tid nu.
Avatar billede alfred Nybegynder
08. maj 2002 - 15:35 #15
Lige nu skriver den ikke noget som helst ud, men den laver ikke længere en parse fejl....
Avatar billede =maddog= Nybegynder
08. maj 2002 - 15:36 #16
kunne man bede om et link, hvis du har det uploaded?
Avatar billede alfred Nybegynder
08. maj 2002 - 16:06 #17
icq # 40798242 eller alfred@mobilixnet.dk
Avatar billede =maddog= Nybegynder
08. maj 2002 - 16:10 #18
ahhr hold op. jeg mener en URL. så jeg kan se sourcekoden.
Avatar billede alfred Nybegynder
08. maj 2002 - 16:13 #19
<script>
function MM_checkPlugin(plgIn) { //v4.0
// har ikke checket koden
  var ok=false;
  document.MM_returnValue = false;
  with (navigator) if (appName.indexOf('Microsoft')==-1 || (plugins && plugins.length)) {
    ok=(plugins && plugins[plgIn]);
  } else if (appVersion.indexOf('3.1')==-1) { //not Netscape or Win3.1
 
    if (plgIn.indexOf("Flash")!=-1 && window.MM_flash!=null) ok=window.MM_flash;
    else if (plgIn.indexOf("Director")!=-1 && window.MM_dir!=null) ok=window.MM_dir;
    }
  return ok // nu skulle den returnere true, hvis der er Falsh installeret
}
}</script>

</head>

<body bgcolor="#DDDDDD" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="800" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="70">&nbsp;</td>
    <td valign="top" align="left"><a href="/"><img src="/pics/melon.gif" width="60" height="50" border="0"></a></td>
  </tr>
  <tr>
    <td width="70">&nbsp;</td>
    <td valign="top" align="left">
       
        <script>
if (MM_checkPlugin('Shockwave Flash')) {
document.writeln('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="/pics/nonswf.gif" width="625" height="225" border=1>
     
        <param name=movie value="/pics/grrr_stripes.swf">
        <param name=quality value=high>
        <embed src="/pics/grrr_stripes.swf" quality=high  type="application/x-shockwave-flash" width="625" height="225">
        </embed>
      </object> ');
} else {
document.writeln("<img src="/pics/nonswf.gif">");
}
</script>
Avatar billede =maddog= Nybegynder
08. maj 2002 - 16:20 #20
kunne jeg lokke dig til at afprøve
<a href=# onclick="alert(window.MM_flash);">clip and copy</a>
og se om det giver true hos dig. hvis det gør kan jeg få det til at virke. ellers kan jeg nok ikke.
Avatar billede alfred Nybegynder
08. maj 2002 - 16:23 #21
den siger: "undefined"
Avatar billede =maddog= Nybegynder
08. maj 2002 - 16:26 #22
du må ikke skille strengen af
<script>
if (MM_checkPlugin('Shockwave Flash')) {
document.writeln('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="/pics/nonswf.gif" width="625" height="225" border=1>\n<param name=movie value="/pics/grrr_stripes.swf">');
document.writeln('<param name=quality value=high>');
document.writeln('<embed src="/pics/grrr_stripes.swf" quality=high  type="application/x-shockwave-flash" width="625" height="225">');
document.writeln('</embed>\n</object>');
} else {
document.writeln("<img src=\"/pics/nonswf.gif\">");
}
</script>
Avatar billede =maddog= Nybegynder
08. maj 2002 - 16:48 #23
ok i
<html>
<head>
<SCRIPT LANGUAGE="Javascript">
<!--

var flashinstalled = 0;
var flashversion = 0;
MSDetect = "false";
if (navigator.plugins && navigator.plugins.length)
{
    x = navigator.plugins["Shockwave Flash"];
    if (x)
    {
        flashinstalled = 2;
        if (x.description)
        {
            y = x.description;
            flashversion = y.charAt(y.indexOf('.')-1);
        }
    }
    else
        flashinstalled = 1;
    if (navigator.plugins["Shockwave Flash 2.0"])
    {
        flashinstalled = 2;
        flashversion = 2;
    }
}
else if (navigator.mimeTypes && navigator.mimeTypes.length)
{
    x = navigator.mimeTypes['application/x-shockwave-flash'];
    if (x && x.enabledPlugin)
        flashinstalled = 2;
    else
        flashinstalled = 1;
}
else
    MSDetect = "true";

// -->
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">

on error resume next

If MSDetect = "true" Then
    For i = 2 to 6
        If Not(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & i))) Then

        Else
            flashinstalled = 2
            flashversion = i
        End If
    Next
End If

If flashinstalled = 0 Then
    flashinstalled = 1
End If

</SCRIPT>
</head><body>
Din HTML her

<script>
if (flashinstalled==2) {
document.writeln('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="/pics/nonswf.gif" width="625" height="225" border=1>\n<param name=movie value="/pics/grrr_stripes.swf">');
document.writeln('<param name=quality value=high>');
document.writeln('<embed src="/pics/grrr_stripes.swf" quality=high  type="application/x-shockwave-flash" width="625" height="225">');
document.writeln('</embed>\n</object>');
} else {
document.writeln("<img src=\"/pics/nonswf.gif\">");
}
</script>
mere HTML her
</body></html>

det virker hos mig (dvs, at jeg kan se billedet). hvis du kan se flash-filmen skulle det være i orden
Avatar billede nikolajdu Nybegynder
09. maj 2002 - 13:27 #24
Sjovt nok så er det eneste der virker 100% - At lave en meget lille og ganske simpel flashfilm.

Så bliver stilen fuldstændigt det samme som vi gør i javascript. Nemlig at bruge kommandoer der findes i enkelte versioner og reagerer flashen på det - Så viser vi enten flashen, et updatelink eller et plugin.

F.eks kan man tjekke for om flashpluginnet er version 6.x med

if(createEmptyMovieClip()){
//vis min flash
}else{
getURL("siden_med_billedet.html");
}
Avatar billede nikolajdu Nybegynder
09. maj 2002 - 13:28 #25
skal nok lige være.

if (this.createEmptyMovieClip()) {
}
Avatar billede =maddog= Nybegynder
09. maj 2002 - 13:41 #26
hej nikolajdu gamle svinger. jeg tænkte også på det, men han vil IKKE have en redirect. så jeg var nød til at finde Flash via VBScript (uf).
men muligvis
if(this.createEmptyMovieClip()){
document.writeln( .... osv .... )
}else{
document.writeln( .... osv .... )
}
Avatar billede alfred Nybegynder
29. august 2002 - 10:05 #27
lukker og slukker.

/Alfred
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