gpt4 book ai didi

javascript - 在 CSS 中使用 JavaScript

转载 作者:行者123 更新时间:2023-11-30 06:41:45 25 4
gpt4 key购买 nike

是否可以在 CSS 中使用 Javascript?

如果是,能举个简单的例子吗?

最佳答案

IE 和 Firefox 都包含从 CSS 执行 JavaScript 的方法。正如 Paolo 提到的,IE 中的一种方法是 expression 技术,但还有更晦涩的 HTC 行为,其中包含脚本的单独 XML 通过 CSS 加载。 Firefox 存在类似的技术,使用 XBL。这些技术不会直接从 CSS 执行 JavaScript,但效果是一样的。

HTC 与 IE

像这样使用 CSS 规则:

body {
behavior:url(script.htc);
}

在那个 script.htc 文件中有类似的东西:

<PUBLIC:COMPONENT TAGNAME="xss">
<PUBLIC:ATTACH EVENT="ondocumentready" ONEVENT="main()" LITERALCONTENT="false"/>
</PUBLIC:COMPONENT>
<SCRIPT>
function main()
{
alert("HTC script executed.");
}
</SCRIPT>

HTC 文件在 ondocumentready 事件上执行 main() 函数(指的是 HTC 文档就绪。)

XBL 与 Firefox

Firefox 使用 XBL 支持类似的 XML 脚本执行 hack。

像这样使用 CSS 规则:

body {
-moz-binding: url(script.xml#mycode);
}

在你的 script.xml 中:

<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl" xmlns:html="http://www.w3.org/1999/xhtml">

<binding id="mycode">
<implementation>
<constructor>
alert("XBL script executed.");
</constructor>
</implementation>
</binding>

</bindings>

constructor 标签中的所有代码都将被执行(将代码包装在 CDATA 部分中是个好主意。)

在这两种技术中,除非 CSS 选择器匹配文档中的元素,否则代码不会执行。通过使用类似 body 的东西,它将在页面加载时立即执行。

关于javascript - 在 CSS 中使用 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10670899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com