在CSS中使用Javascript

在CSS中使用Javascript,第1张

在CSS中使用Javascript

IE和Firefox都包含从CSS执行Javascript的方法。正如Paolo所提到的那样,IE中的一种方法是该

expression
技术,但是HTC行为也更加晦涩难懂,即通过CSS加载包含脚本的单独XML。存在使用XBL的 Firefox类似技术。这些技术不会直接从CSS中提取Javascript ,但效果是相同的。

带有IE的HTC
使用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文件main()在事件上执行功能ondocumentready(指HTC文档的准备情况。)

Firefox的XBL

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

使用CSS规则,如下所示:

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

在你的script.xml中:

<?xml version="1.0"?><bindings xmlns="http://www.mozilla.org/xbl" xmlns:html="http://www.w3.org/1999/xhtml"><binding id="mypre">  <implementation>    <constructor>      alert("XBL script executed.");    </constructor>  </implementation></binding></bindings>

构造器标签中的所有代码都将执行(将代码包装在CDATA部分中的好主意。)

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



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5022065.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存