ActiveX sous Windows 7 lancers “l'Objet ne prend pas en charge la propriété ou de la méthode” erreur
Nous avons un tiers ActiveX. Il semble bien fonctionner sur une machine Windows XP (Internet Explorer 7). Cependant, lorsque l'on teste sur Windows 7 Professional 64-bit (Internet Explorer 9), nous recevons un message d'erreur -- "l'Objet ne prend pas en charge la propriété ou de la méthode '{methodname}'"
Quelqu'un sait ce qui pourrait en être la cause?
-
Est-il un problème avec l'OS -- la sécurité est plus serré, par conséquent, l'assemblée a besoin de quelque chose?
-
Est-il un problème avec le navigateur -- encore une fois, peut-être que la sécurité est plus serré, donc quelque chose dans Outils >> Options Internet >> la Sécurité doit être ajusté?
Idées ou suggestions seraient grandement appréciés!
HTML:
<body onload="OpenActiveX()">
<OBJECT id="OurActiveX"
name=”OurActiveX"
classid="clsid:43663B77-905C-4885-BC6B-4F57FE10A270"
VIEWASTEXT codebase="CS1504CAB.cab">
</OBJECT>
<script language="javascript">
function OpenActiveX()
{
try
{
alert(document.OurActiveX.Echo("Hi I am here."));
var sdata = document.OurActiveX.GetData();
if(sdata == "0"){
document.getElementById("barcodes").innerHTML = "No barcodes found.";
}
else if( sdata == "1"){
document.getElementById("barcodes").innerHTML = "Could not find the barcode reader.";
}
else{
var adata = sdata.split(":");
document.getElementById("barcodes").innerHTML = adata[0] + "<BR/>" + adata[1];
}
}
catch(Err)
{
alert(Err.description);
}
}
</script>
<div id="barcodes" />
- Sans voir le code utilisé, il est assez difficile à dire. Cette erreur peut être causée par un grand nombre de situations.
- Vous faites un excellent point! Je m'en excuse. J'ai édité ma question d'inclure le code HTML. Merci de vos conseils!
Vous devez vous connecter pour publier un commentaire.
Le message d'erreur indique que la commande n'est pas disponible sur la machine. Vous pouvez vérifier les paramètres de sécurité d'internet explorer sur l'ordinateur client et de vérifier les paramètres de sécurité suivants de l'ei de "demander" ou "Activé":
1) Télécharger les contrôles ActiveX signés
2) Exécuter les Contrôles ActiveX et les plugins
3) les contrôles de Script ActiveX marqués comme sécurisés pour l'écriture de scripts
Le Mode protégé est activé par défaut dans Windows 7. Tournez le proected mode off ou essayez d'exécuter à-dire comme un administrateur ne peut se débarrasser du problème de sécurité.
Aussi, si vous utilisez la version 64 bits c'est à dire, vous devez vous assurer que le contrôle prend en charge 64 bits.
Il n'y a pas de
document.OurActiveX
, parce que lename
attribut dans votre code HTML est cassé (que vous avez utilisé un "guillemets" à la place d'un double normal devis, si vous regardez attentivement, la coloration syntaxique donne à cette distance).Donc, en fait,
document.OurActiveX
estundefined
, et c'est pourquoi vous ne pouvez pas invoquer des méthodes sur elle.Devient:
De toute façon, la sélection de nœuds DOM comme
document.someName
est très vieillot et un peu sujettes à l'erreur; se débarrasser de laname
attribut et utiliserdocument.getElementById
de sélectionner le nœud, comme vous l'avez d'ailleurs.ActiveX ne fonctionne pas avec IE 64 bits.