在CSS中插入javascript

在CSS中插入javascript

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的其余部分. 

在CSS中插入javascript

相关文章:

你感兴趣的文章:

标签云: