Toon posts:

[JS] Object tag ziet geen Param's via appendChild

Pagina: 1
Acties:

Verwijderd

Topicstarter
Vanwege het Eolas patent moet je tegenwoordig OBJECT-tags aanmaken via een extern Javascriptje.

Voorheen:
code:
1
2
3
4
5
6
<object id="myControl1" classid="ActiveX2.dll#ActiveX2.myControl" width="70" height="21">
  <param name="ForeColor" value="#000000">
  <param name="BackColor" value="#F2F2F4">
  <param name="Font" value="Tahoma, 11world">
  <param name="Label" value="Menu">
</object>

Dit werkt, maar helaas wordt er dus om een activatie-klikje gevraagd.

Nu heb ik een prachtig stukje javascript gemaakt, en nu krijg ik inderdaad een geen activatie-klikje meer, maar er wordt geen rekening gehouden met de PARAM-tags. (In ieder geval niet bij mijn eigen gebrouwen .NET "ActiveX" DLL)

Test hier online: activex2.htm (IE only :P)

In het bijbehorende javascript bestandje zie je dat ik netjes alle PARAM-tags toevoeg.
En alert van de outerHTML van de "Container" div geeft gewoon het gewenste code (zoals hierboven in het stukje binnen de "code"-tag).

En toch blijft het gewoon Times New Roman met een witte achtergrond, en geen Tahoma met lichtgrijze achtergrond, plus de tekst "Menu" verschijnt niet als label.
Hoe kan dat? Ik heb mijn tag toch identiek opgebouwd?

(Origineel: activex0.htm. Andere workaround: activex1.htm... maar werkt ook niet zoals 't moet...)

[ Voor 51% gewijzigd door Verwijderd op 18-06-2006 20:40 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

En als je je ctrl object pas na het toevoegen van de param-elementen aan het document toevoegd (wat sowieso efficienter is)?
Probeer het anders eens mbv innerHTML

[ Voor 14% gewijzigd door crisp op 19-06-2006 00:20 ]

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op maandag 19 juni 2006 @ 00:19:
En als je je ctrl object pas na het toevoegen van de param-elementen aan het document toevoegd (wat sowieso efficienter is)?
Dan krijg ik een kruisje... ik zou bijna zeggen dat er een bug in IE zit qua .NET componenten. Als ik hier een Mediaplayer object van maak, dan werkt 't wel. :(
crisp schreef op maandag 19 juni 2006 @ 00:19:Probeer het anders eens mbv innerHTML
Dat is wat er gebeurt bij "activex2.htm"... krijg ik ook een kruisje...

Het is me trouwens nu wel gelukt op een andere manier: complete document-string opbouwen en dan (via extern scriptje) document.write uitvoeren! (activex3.htm)

Kom ik aan bij mijn volgende probleem (maar dat valt waarschijnlijk buiten /13), hoe kom je "buiten" zo'n .NET component, en zorg je dat 'ie naar een andere pagina gaat? Of zou dat op een andere manier te bereiken zijn? Als ik zo urenlang zit rond te googlen krijg ik bijna het idee dat ik de eerste ben die iets dergelijks probeert. :'(

--edit:
Voor ActiveX heb ik wat gevonden: http://support.microsoft.com/kb/172763/EN-US/
En voor .NET zou je het volgende moeten doen: http://support.microsoft.com/?kbid=311299

Maar daar staat:
To retrieve the IWebBrowser2 interface and use it from within an UserControl object, you must include a managed wrapper around IWebBrowser2 that is safe to call from controls that run in the browser. Microsoft does not currently have any wrapper classes available to accomplish this task.
En daar raak ik de draad kwijt... :? (Of "kijk" ik nu de verkeerde kant op; ik heb de webpagina nodig waarin het .NET component zit, niet de webpagina in een geembedded Webbrowser control)

[ Voor 28% gewijzigd door Verwijderd op 19-06-2006 10:11 ]