Avatar billede mik789 Nybegynder
25. november 2003 - 23:46 Der er 23 kommentarer og
1 løsning

JS kode i NS 7.1 iframe

På denne side beskrives hvordan man tjekker for om Windows Media Player er installeret hos brugeren og hvilken version det drejer sig om, se: http://devedge.netscape.com/viewsource/2003/windows-media-in-netscape/

Koden der gør det, kan ses her: http://devedge.netscape.com/viewsource/2003/windows-media-in-netscape/first-detection.js.txt

Men i Netscape 7.1 sker der det, at koden opfører sig forskelligt i top vinduet i forhold til i en iframe. Dele af scriptet bliver ikke kørt i iframen, med mindre den reloades. I kan prøve her:

http://www.musicandmeaning.net/issues/2003_1/multimedia/NN_test.html

Scriptet er nøjagtigt ens i de to vinduer, men i iframen er resultatet anderledes ind til man reloader den. Hvorfor det? Er det en fejl i NS 7.1, eller er der noget jeg ikke har forstået om iframes?

//mik
Avatar billede nikolajdu Nybegynder
26. november 2003 - 02:49 #1
Jeg har svært ved at se hvad du mener - Den eneste forskel hos mig er at Windows Media Scriptable:false

/Nikolaj
Avatar billede mik789 Nybegynder
26. november 2003 - 08:44 #2
nikolajdu> Hos mig ser det sådan ud (NS 7.1):

IFRAME
Browser architecture supports: NetscapePlugin
Windows Media Player Installed: true
Windows Media Scriptable: false
Windows Media Version: PluginVersion

TOPVINDUE
Browser architecture supports: ActiveX
Windows Media Player Installed: true
Windows Media Scriptable: true
Windows Media Version: 9.0.0.3075

Når iframen så reloades bliver værdierne de samme som topvinduets. Det er specielt et problem at iframen ikke fanger versionsnummeret.
Avatar billede mik789 Nybegynder
26. november 2003 - 09:01 #3
det er denne del af koden der ikke bliver kørt i første omgang:

var wmp7 = "WMPlayer.OCX.7";
  if((window.ActiveXObject && navigator.userAgent.indexOf('Windows') != -1) || window.GeckoActiveXObject)
{
  wmpInfo.type = "ActiveX";
  var player = createActiveXObject(wmp7);
  if(player)
  {
    wmpInfo.installed = true;
    wmpInfo.scriptable = true;
    wmpInfo.versionInfo = player.versionInfo;
    return wmpInfo;
  }
Avatar billede nikolajdu Nybegynder
26. november 2003 - 13:13 #4
Det ser ud til at køre hos mig første gang....?
Avatar billede mik789 Nybegynder
26. november 2003 - 13:20 #5
nikolajdu> hvis du har testet i Netscape 7.1 og du har Windows Media Player version 7 eller højere (dvs.9), burde værdien for Windows Media Scriptable ikke være "false" men "true". Og hvis det er resultatet i begge vinduer er den da helt gal....
Avatar billede nikolajdu Nybegynder
26. november 2003 - 13:26 #6
Jeg har Windows Mediaplayer 8 og bruger Netscape 7.1

Browser architecture supports: NetscapePlugin
Windows Media Player Installed: true
Windows Media Scriptable: false
Windows Media Version: PluginVersion

og nedenunder :

Browser architecture supports: NetscapePlugin
Windows Media Player Installed: true
Windows Media Scriptable: false
Windows Media Version: PluginVersion
Avatar billede mik789 Nybegynder
26. november 2003 - 13:34 #7
hmmn, mit problem er også om jeg helt forstår hvad der sker i scriptet. der testes på information om WMP på forskellig vis undervejs i scriptet. dit resultat viser at betingelsen:

var wmp7 = "WMPlayer.OCX.7";

...

wmpInfo.type = "ActiveX";
  var player = createActiveXObject(wmp7);
  if(player)


- ikke er opfyldt (altså testen i forhold til referencen WMPlayer.OCX.7 - og hvad den går ud på, er jeg ikke helt klart over. må tilbage og kigge nærmere på den oprindelige devedge side...
Avatar billede nikolajdu Nybegynder
26. november 2003 - 13:38 #8
var player = createActiveXObject(wmp7);
  if(player)

Er jo i og for sig simpel nok - Der testes om der kan oprettes en activeX component til version 7+ af mediaplayer.

Ligesom man gør ved flash når der detectes i IE.

CreateObject("ShockwaveFlash.ShockwaveFlash.6")
Avatar billede mik789 Nybegynder
26. november 2003 - 13:44 #9
ok... og variablen wmp7 = "WMPlayer.OCX.7"; bruges til at fange værdierne både for version 7 og 9 - i modsætning til den ældre version 6.4. Gad vist om der er noget særligt med v.8?
Avatar billede nikolajdu Nybegynder
26. november 2003 - 13:53 #10
Jeg kan ikke forestille mig at der skulle være forskel på 7,8,9 i det tilfælde.

ActiveX tjekket er kun til IE så din netscape bruger : else if(navigator.mimeTypes)

Det giver i øvrigt også samme resultat i min opera 7.11.

Min MediaPlayer  er 8.00.00.4487
Avatar billede mik789 Nybegynder
26. november 2003 - 13:55 #11
"ActiveX tjekket er kun til IE"... ja, med undtagelse af WMP i NS 7.1. Det er det devedge siden gør rede for.
Avatar billede nikolajdu Nybegynder
26. november 2003 - 14:00 #12
Bah jeg sidder med Netscape 7.2 og her virker det ihvertilfald ikke.

So sorry.

og ja havde lige glemt i forbifarten at 7.1 tager visse type activex - Noget underligt noget...
Avatar billede mik789 Nybegynder
26. november 2003 - 14:02 #13
ok, så alt i alt er det stadig usikkert hvad vil være NS's politik fremover med hensyn til dette. men er 7.2 en færdig version eller en beta?
Avatar billede nikolajdu Nybegynder
26. november 2003 - 14:07 #14
Ej men nu går det da helt galt....

Jeg har version : Netscape 7.02
Avatar billede mik789 Nybegynder
26. november 2003 - 14:09 #15
NÅÅHHH ja. det giver da også bedre mening. så er alt som det bør være, og man kan måske forvente at 7.1'erens activeX tjek er en blivende ting i kommende versioner
Avatar billede nikolajdu Nybegynder
26. november 2003 - 14:10 #16
Jeg installerer lige min mozilla og min firebird - De er ihvertilfald helt nye :))
Avatar billede mik789 Nybegynder
26. november 2003 - 14:11 #17
ja, men de understøtter ikke samme tjek. har prøvet. det er KUN NS 7.1 (foruden IE)
Avatar billede nikolajdu Nybegynder
26. november 2003 - 14:12 #18
Mozilla firebird kan ikke detecte noget som helst...

Browser architecture supports: NetscapePlugin
Windows Media Player Installed: true
Windows Media Scriptable: false
Windows Media Version: PluginVersion
Avatar billede nikolajdu Nybegynder
26. november 2003 - 14:13 #19
Så kan man jo vende tilbage til om det så er besværet værd. Jeg mener Netscape 7.1 og IE+ -

Netscape er stort set død og aftagerne kan ikke bruges.
Avatar billede mik789 Nybegynder
26. november 2003 - 14:13 #20
nej, det er rigtigt.
Avatar billede mik789 Nybegynder
26. november 2003 - 14:14 #21
n¨å.. er faktisk på arbejde... kigger videre i aften en gang...
Avatar billede mik789 Nybegynder
27. november 2003 - 16:54 #22
nå, det er åbenbart en bug ved NN 7.1. Jeg har spurgt dem på Netscape om det. Men ind til videre blev den enkle løsning bare at lægge en reload ind i starten af siden i iframen, så fungerer alt som det skal.

nikolajdu> læg et svar, du!
Avatar billede nikolajdu Nybegynder
27. november 2003 - 22:59 #23
Nej jeg vil ej du ;-)

Nap du bare pointene du fik jo selv løst det og jeg prøvede jo iøvrigt slet ikke. Jeg testede bare i en forkert bruser. :((

/Nikolaj
Avatar billede mik789 Nybegynder
28. november 2003 - 00:03 #24
jajada, men tak for indspark...
//mik
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