将.htc文件的内容转换为“常规”Javascript

时间:2010-11-05 09:18:17

标签: javascript html-components

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

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

在整个文件中,都会调用'element',&amp; this.element - 我认为这是指这个div #test。

如果我想从这个文件中获取JS,是否可以放入主.html页面?我试图在文档加载时调用该函数,但无法正确识别我的语法。

我正在尝试:

document.getElementById.('test').attachEvent(onlonad, function1());

如果我做了一些基本的错误,或者如果有人能告诉我为什么这样做会是一个坏主意,我会感激任何指针! =)

1 个答案:

答案 0 :(得分:0)

你在一个错误的地方有一个点,你正在将一个未定义的变量传递给该函数而你正在调用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 
}