在CSS中插入&#106avascript

王朝html/css/js·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

quirksmode站点的制作者发现了一个有趣的技巧.CSS中的background-image属性可以插入Javascript.遗憾的是目前只有IE5/6支持.(IE7我没有条件测试)

运行代码框

<style type="text/css">

#test {

border: 1px solid #000000;

padding: 10px;

background-image: url('javascript:alert("看到我了么?");')

}</style>

<div id="test">显示消息哦</div>

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

如果我们在CSS中多个不同的id选择器中都插入了Javascript.那么只有前面的XHTML中调用了该id选择器.才会运行该Javascript代码.而没有调用的id选择器,其中的代码不会运行.

如下,我们定义了两个id选择器.test1和test2.但是并没有在xhtml中调用test2.所以你仍然只能看到test1中的javascript代码.

运行代码框

<style type="text/css">

#test1 {

border: 1px solid #000000;

padding: 10px;

background-image: url('javascript:alert("看到我了么?");')

}

#test2 {

border: 1px solid #000000;

padding: 10px;

background-image: url('javascript:alert("你看不到我!");')

}</style>

<div id="test1">显示消息哦</div>

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

除了显示消息之外,作者试图用这个技巧来生成随机的背景图片.

background-image: url(javascript: document.write('pix/test'+(parseInt(Math.random()*5)+1)+'.gif'));

遗憾的是,经过多次尝试,这个想法最终被认为是不可能的.我自己也试验了一下.并不能生成随机的背景图片.只是显示了背景的东西.并且覆盖了.原来的内容而且终止了浏览器继续解释运行xhtml的其余部分.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航