在CSS中插入javascript-(0)

在CSS中插入javascript-(0)

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-(0)

相关文章:

你感兴趣的文章:

标签云: