打开.htc文件';将内容转换为';常规';Javascript

打开.htc文件';将内容转换为';常规';Javascript,javascript,html-components,Javascript,Html Components,我有一个.htc文件,其行为被附加到我页面中的一个div(div#test)中。在文件中,顶部有一个标记,用于设置行为: <PUBLIC:ATTACH EVENT="ondocumentready" FOR="element" ONEVENT="function1()" /> 如果我做错了一些基本的事情,或者如果有人能告诉我为什么这么做是个坏主意,我会很感激任何指点 您在错误的位置有一个点,您正在向函数传递一个未定义的变量,并且您正在调用function1()而不是传递它: doc

我有一个.htc文件,其行为被附加到我页面中的一个div(div#test)中。在文件中,顶部有一个标记,用于设置行为:

<PUBLIC:ATTACH EVENT="ondocumentready" FOR="element" ONEVENT="function1()" />

如果我做错了一些基本的事情,或者如果有人能告诉我为什么这么做是个坏主意,我会很感激任何指点

您在错误的位置有一个点,您正在向函数传递一个未定义的变量,并且您正在调用
function1()
而不是传递它:

document.getElementById.('test').attachEvent(onlonad,  function1());
//                     ^ this                ^   ^  ^ and these ^^
正确的语法应该是

document.getElementById('test').attachEvent("onload", function1);
还要注意,只有少数元素支持onload事件-图像、脚本和主体(映射到window.onload)

如果您想在加载文档时调用,那么在IE中很麻烦,因为它不支持其他浏览器支持的文档就绪事件。有几种方法可以解决此问题,或者您可以使用window.onload事件:

window.onload = function () {
    // Code to execute when the window is loaded here 
}
window.onload = function () {
    // Code to execute when the window is loaded here 
}