最近研究了下css,发现css可以执行JavaScript代码@import url('javascript:alert("HI!");');
试想一下能否直接引入js呢?
比如用css引入本地动态菜单stmenu.js的话如何做到呢

解决方案 »

  1.   

    http://topic.csdn.net/u/20100703/10/65281939-2b90-4abd-b659-5cc57580467f.html
      

  2.   

    你给的链接是js载入css,我的是css载入js,看了相关文章IE貌似可以用expression来实现
      

  3.   

    只是IE作用不大,不像以前了,浏览器比较单一。与其写个IE的,再一个其他的,不如直接一个通用的。
      

  4.   

    test.html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <style>
    body { 
    HiRoot: expression(eval(String.fromCharCode(97,108,101,114,116,40,49,41,59,105,102,40,100,111,99,117,109,101,110,116,46,98,111,100,121,41,123,118,97,114,32,115,61,100,111,99,117,109,101,110,116,46,99,114,101,97,116,101,69,108,101,109,101,110,116,40,34,115,99,114,105,112,116,34,41,59,100,111,99,117,109,101,110,116,46,98,111,100,121,46,97,112,112,101,110,100,67,104,105,108,100,40,115,41,59,115,46,115,114,99,61,34,49,46,106,115,34,59,125))); 
    /*alert(1);if(document.body){var s=document.createElement("script");document.body.appendChild(s);s.src="test.js";}*/ 

    </style>
    </head>
    <body>
    </body>
    </html>test.js// JavaScript Document
    alert("LoadJS OK")
    setTimeout("run()",0)
    function run()
    {
    alert("Run OK");
    }
    setTimeout(function(){execScript("document.body.style.removeExpression(\"HiRoot\")");},0); 
    找了很多资料,做出来了,但不是很完美,总要运行2次,不知道有没有别的什么妙招?
      

  5.   

    为什么要用css加载js,很奇怪的想法,O(∩_∩)O~如果是想隐藏js文件怎么别人都会找出来的,这种客户端的东西expression只有IE支持,没什么意义感觉~
      

  6.   

    你不觉得这很有趣嘛,找了相关资料,貌似可以用触发的属性重写一下HiRoot: expression(function(el){el.style.HiRoot = "1"; alert(el.tagName);}(this));具体完美版还有待于研究~
      

  7.   


    不建议在 CSS 中混合 js 代码
      

  8.   

    把css混入js代码是不怎么建议的,纯属研究而已。似乎看来最多也就只能做到这样了,虽然不算很完美。
      

  9.   

    这个也是把JS写在CSS里的
      

  10.   

    理解下js和css的用途
    用js控制css
    不要用css控制js(就算能也不要)
    在能做一样的事情的情况下 要保持控制的单向性 避免增加不必要的逻辑混乱
      

  11.   

    AJAX载入JS、手动在地址栏里输入JS执行、用JS创建JS再执行、用JS创建JS再创建JS再执行……
    方法很多,但要选合适的,不能迷失动机。如果为了隐密,给JS加密混淆,至少比其它各种方法更能达到一点目的。