在CSS中插入javascript

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.