加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 从IE8中的OBJECT标记调用.Net程序集

发布时间:2020-12-15 20:57:49 所属栏目:asp.Net 来源:网络整理
导读:我有一个调用.Net程序集的网页.在 Windows XP和IE7中一切正常.相关部分: htmlhead script language="javascript" type="text/javascript" function doScript() { myControl1.Go("value1","value2"); } /script/headbody onload="javascript:doScript();" ob
我有一个调用.Net程序集的网页.在 Windows XP和IE7中一切正常.相关部分:
<html>
<head>
    <script language="javascript" type="text/javascript">
    function doScript() {
        myControl1.Go("value1","value2");
    }
    </script>
</head>
<body onload="javascript:doScript();">
    <object id="myControl1" name="myControl1" 
            codebase="../cabs/myassembly.dll" 
            classid="../cabs/myassembly.dll#MyNs.MyClass" 
            width="1" height="1"></object>
</body>
</html>

我无法在Windows 7中使用IE8.一些说明:

>组装很有名.
>我现在正在localhost上托管这个.

>在正在运行的计算机上(VirtualBox托管的WinXP,IE7),它使用的是我的本地计算机的IP地址(http://1.2.3.4 / …),并且该IP位于“受信任的站点”中. IE浏览器.
>在无法运行的计算机上(Windows 7,IE8),它使用http:// localhost / …并且localhost位于IE的“可信站点”中.

>程序集由http://localhost/cabs/myassembly.dll提供.
>错误消息是一个javascript错误,“对象不支持此属性或方法”
> Fiddler在请求文件时显示200 OK响应,但是,似乎dll没有进入临时Internet文件位置.
>该站点以“IE 7兼容性”模式运行.
>我已将所有IE权限放弃到最不安全的地方,它会让你在所有区域中,并且行为完全相同.

有没有人有任何想法试图让这个工作或解决问题所在?

免责声明:是的,我意识到这是2012年,世界已经超越了IE7,IE8,ActiveX等.让我们说我们在技术上有点落后.这是我必须解决的问题;升级到现代解决方案不是一种选择.

更新:我确实让它在运行IE8的Windows XP VirtualBox中运行.因此,问题似乎是Windows 7特有的.它在我的本地计算机和运行Windows 7,IE8的VirtualBox上都失败了.

解决方法

这是通过添加在 “Loading .NET UserControls in IE with .NET 4.0”上回答的注册表项来解决的(即使这是一个2.0控件)
[HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFramework]
"EnableIEHosting"=dword:00000001

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读