关于HTC的问题

gaoyibo8939 2005-01-02 08:23:12
定义了一个HTC文件:engine.htc
定义了一个使用HTC的页面:A.HTML
代码如下:
<HTML XMLNS:InetSDK>
<HEAD>
<STYLE>
@media all {
InetSDK\:CALC {behavior:url(css/engine.htc)}
}
</STYLE>
</HEAD>

<InetSDK:CALC id="myCalc" onResultChange="resultWindow.innerText=
window.event.result">
<TABLE>
<TR><DIV ID="resultWindow" STYLE="border: '.025cm solid gray'"
ALIGN=RIGHT>0.</DIV></TR>
<TR><TD><INPUT TYPE=BUTTON VALUE=" 7 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" 8 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" 9 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" / "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" C "></TD>
</TR>
<TR><TD><INPUT TYPE=BUTTON VALUE=" 4 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" 5 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" 6 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" * "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" % " DISABLED></TD>
</TR>
<TR><TD><INPUT TYPE=BUTTON VALUE=" 1 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" 2 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" 3 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" - "></TD>
<TD><INPUT TYPE=BUTTON VALUE="1/x" DISABLED></TD>
</TR>
<TR><TD><INPUT TYPE=BUTTON VALUE=" 0 "></TD>
<TD><INPUT TYPE=BUTTON VALUE="+/-"></TD>
<TD><INPUT TYPE=BUTTON VALUE=" . "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" + "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" = "></TD>
</TR>

</TABLE>
</InetSDK:CALC>
</HTML>

现在将HTC文件与页面文件放在一个目录下,打开页面显示为空,如果将引用HTC的样式标签去掉则可能正常显示,说明该标签出现问题,是否与命名空间有问题,如果这样我该怎么办?
...全文
159 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dsclub 2005-01-03
  • 打赏
  • 举报
回复
答案在这里
<PUBLIC:EVENT NAME="onResultChange" ID="rcID" />

你看看MSDN上讲HTC的Event
gaoyibo8939 2005-01-03
  • 打赏
  • 举报
回复
谢谢党员干部同志的热烈响应,小弟还有一个问题想稍带问一下,HTC文件中下面这三句是什么意思:
oEvent = createEventObject();
oEvent.result = sResult;
rcID.fire (oEvent);
是触发页面的事件onResultChange吗,页面代码中的window.event.result的值是否就是oEvent.result的值?谢谢大侠,如果对HTC不熟悉兄弟明天照样给分?
dsclub 2005-01-03
  • 打赏
  • 举报
回复
html:
<HTML xmlns:InetSDK>
<HEAD>
<TITLE>Calculator Sample</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
<META NAME="AUTHOR" CONTENT="InetSDK">
<META NAME="MS.LOCALE" CONTENT="EN-US">
<META NAME="ROBOTS" CONTENT="noindex">

<style>
INPUT {font-family: Courier New}
@media all {
InetSDK\:CALC {behavior:url("Engine.htc");background:#eee;}
}
</style>
</HEAD>


<BODY TOPMARGIN=0 LEFTMARGIN=0 BGPROPERTIES="FIXED" BGCOLOR="#FFFFFF" LINK="#000000" VLINK="#808080" ALINK="#000000">
<BLOCKQUOTE CLASS="body">
<!-- CONTENTS_START -->
<!--
<H1>Calculator Sample</H1>
-->

<P>
<InetSDK:CALC id="myCalc" onResultChange="resultWindow.innerText =window.event.result;">
<TABLE>
<TR><TD COLSPAN=5><DIV ID="resultWindow" STYLE="padding:5; background-color:buttonface" ALIGN="RIGHT">0.</DIV></TD></TR>
<TR><TD><INPUT TYPE=BUTTON VALUE=" 7 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" 8 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" 9 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" / "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" C "></TD>
</TR>
<TR><TD><INPUT TYPE=BUTTON VALUE=" 4 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" 5 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" 6 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" * "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" % " DISABLED></TD>
</TR>
<TR><TD><INPUT TYPE=BUTTON VALUE=" 1 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" 2 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" 3 "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" - "></TD>
<TD><INPUT TYPE=BUTTON VALUE="1/x" DISABLED></TD>
</TR>
<TR><TD><INPUT TYPE=BUTTON VALUE=" 0 "></TD>
<TD><INPUT TYPE=BUTTON VALUE="+/-"></TD>
<TD><INPUT TYPE=BUTTON VALUE=" . "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" + "></TD>
<TD><INPUT TYPE=BUTTON VALUE=" = "></TD>
</TR>
</TABLE>
</InetSDK:CALC>


<!-- CONTENTS_END -->


</BLOCKQUOTE>
</BODY>
</HTML>

Engine.htc和上面的html保存在同一目录下
<PUBLIC:EVENT NAME="onResultChange" ID="rcID" />
<PUBLIC:ATTACH EVENT="onclick" ONEVENT="doCalc()" />

<SCRIPT LANGUAGE="JScript">

var sResult = '0';
var num1 = 0;
var num2 = 0;
var bNewNumber=true;
var sOperation = '+';
var bEquals = false;



function sign(sVal)
{
num2 = parseFloat(sResult);
sResult = -1 * num2;
bNewNumber=true;
}

function operation (sVal)
{

num2 = parseFloat(sResult);
if (sOperation == '+')
sResult = num1+num2;
else if (sOperation == '-')
sResult = num1 - num2;
else if (sOperation == '*')
sResult = num1 * num2;
else if (sOperation == '/')
{
if (num2 == 0)
sResult = "Error";
else
sResult = num1 / num2;
}

if (sVal != '=')
{
sOperation = sVal;
num1 = parseFloat (sResult);
}
else
{
// bEquals = true;
num1 = 0;
sOperation = '+';
}


bNewNumber=true;
}

function digit (sVal)
{
if (bNewNumber)
sResult= sVal;
else
sResult= sResult + sVal;

bNewNumber=false;
}

function clear()
{
sResult= '0';
num1 = 0;
num2 = 0;
sOperation = '+';
bNewNumber=true;
}

function stripBlanks (sVal)
{
var sTemp = "";
var i;

for (i=0; i < sVal.length; i++)
{
x = sVal.substr(i,1);
if (x != ' ')
sTemp = sTemp + x;
}

return sTemp;
}

function KeyCodeToChar(iKeyCode)
{
switch (iKeyCode)
{
case 48: return '0';
case 49: return '1';
case 50: return '2';
case 51: return '3';
case 52: return '4';
case 53: return '5';
case 54: return '6';
case 55: return '7';
case 56: return '8';
case 57: return '9';
case 27: return 'C';
case 190:return '.';
case 189:return '-';
case 191:return '/';

// 189: '-';
// 187: '=';
// 187+shift : '+'
// 56+shift : '*'
// 191: '/'
}
}

function doCalc()
{
oElement = event.srcElement;
window.status = oElement.value;

if (event.type == "keydown")
sVal = KeyCodeToChar (event.keyCode);
else
{
if (event.srcElement.type != "button")
return;
sVal = stripBlanks(event.srcElement.value);
}

if ((sResult == "Error") && (sVal != 'C'))
return;

if ((sVal=='0') || (sVal == '1') ||
(sVal=='2') || (sVal == '3') ||
(sVal=='4') || (sVal == '5') ||
(sVal=='6') || (sVal == '7') ||
(sVal=='8') || (sVal == '9') || (sVal == '.'))
digit (sVal);

else if ((sVal == '+') || (sVal == '-') ||
(sVal == '*') || (sVal == '/') ||
(sVal == '='))
operation (sVal);

else if (sVal == '+/-')
sign (sVal);

else if (sVal == 'C')
clear ();

oEvent = createEventObject();
oEvent.result = sResult;
rcID.fire (oEvent);
}

</SCRIPT>
gaoyibo8939 2005-01-02
  • 打赏
  • 举报
回复
其实,不讨论计算器,就说HTML中的自定义标签一个极简单的例子:
<HTML XMLNS:DOCJS>
<HEAD>
<STYLE>
@media all {
DOCJS:RIGHT {text-align:left; width:500}
}
</STYLE>
</HEAD>
<BODY>
<DOCJS:RIGHT>
Read Doc JavaScript's columns, tips, tools, and tutorials
</DOCJS:RIGHT>
</BODY>
</HTML>
在浏览器中都不会认这个自定义标签?所以肯定是标签这块的问题?
gaoyibo8939 2005-01-02
  • 打赏
  • 举报
回复
是的
dsclub 2005-01-02
  • 打赏
  • 举报
回复
MSDN里的计算器?
gaoyibo8939 2005-01-02
  • 打赏
  • 举报
回复
IE不认这个自定义标签

61,124

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧