日期:2014-05-17  浏览次数:20631 次

我要哭了:htc控件为什么不能被解析了?
程序中用到的htc控件,应用服务器为tomcat5.5,
写好的程序,原来是可以正常运行的,
在系统和tomcat重装后,发现无法解析了,
然后我做了个简单测试,发现最简单的htc也无法解析.

Datastore_t.htc的代码:
<public:component>
<public:method   NAME= "debug "   INTERNALNAME= "Debug "   />

<script   LANGUAGE= "JavaScript ">
function   Debug()
{
alert(222222222)
}
</script>
</public:component>

调用htc的w_test.htm文件:
<HTML   XMLNS:DSCtrl>
<head>
        <style>    
          @media   all   {  
          DSCtrl\:datastore   {behavior:url(../publicc/datastore_t.htc)}
          }
        </style>
</head>
<script>
function   of_init()
{
ds.debug()
}
</script>
<body     onLoad= "of_init() "   topmargin= "0 "   leftmargin= "0 ">
大大的
<DSCTRL:datastore     class= "datastore "   id= "ds ">
</DSCTRL:datastore>
</body>
</html>

在本地调用w_test.htm,能够有提示
在tomcat上调用出错,提示为:
"对象不支持此属性或方法 ",出错位置为ds.debug()的位置.
好几天解决不了了.

请高手赐教,也请大家帮忙测试一下,谢谢!谢谢!


------解决方案--------------------
没有用过htc,了解一点点,呵呵。不过我走的是web standard的路子了
------解决方案--------------------
如果不出意外,应该是debug大小写的问题:
<public:component>
<public:method name= "debug " />

<script type= "text/javascript ">
function debug()
{
alert( '222222222 ');
}
</script>
</public:component>
------解决方案--------------------
你试试直接访问那个htc文件能不能访问???(http://localhost:8080/..../*.htc)

如果不能访问,添加下htc文件的mime-type。
------解决方案--------------------
这个应该是个js的错误
------解决方案--------------------
fty.htc
<PUBLIC:COMPONENT NAME= "toFly ">
<PUBLIC:METHOD NAME= "startFlying " />
<SCRIPT LANGUAGE= "JScript " >
function startFlying()
{
// Insert flying code here
}
</SCRIPT>
</PUBLIC:COMPONENT>

调用htc
<HTML>
<HEAD>
<STYLE>
.FLY {behavior:url(fly.htc)}
</STYLE>
</HEAD>
<BODY ID= "flyingHigh " class= "FLY ">
<DIV onclick= "flyingHigh.startFlying() ">
<!-- Insert stuff to fly -->
</DIV>
</BODY>
</HTML>

------解决方案--------------------
可能是tomcat解析的问题,如果楼主认为在配置tomcat上没有落下什么。哪么就把这个删除,再重新建立一下试试吧