| <style type="text/css"> #test { border: 1px solid #000000; padding: 10px; background-image: url('javascript:alert("看到我了么?");') }</style> <div id="test">显示消息哦</div> |
如果我们在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> |
除了显示消息之外,作者试图用这个技巧来生成随机的背景图片。
background-image: url(javascript: document.write('pix/test'+(parseInt(Math.random()*5)+1)+'.gif'));
遗憾的是,经过多次尝试,这个想法最终被认为是不可能的。我自己也试验了一下,并不能生成随机的背景图片,只是显示了背景的东西,并且覆盖了原来的内容而且终止了浏览器继续解释运行xhtml的其余部分。
| 第1页:在CSS中插入javascript |