举个例子:javascript: var myvar=10; function myfunc(){}; void(0);在地址栏运行上面这段“源代码”以后,我们就能用 window.myvar 和 window.myfunc() 来访问 myvar 和 myfunc,这意味着上面这段“源代码”一定被浏览器保存在当面页面的某个地方。我的问题是:这段“源代码”到底被保存到当前页面的哪个地方(或者哪个DOM对象中)?或者说,有没有办法获得在地址栏上运行过的js源代码?我检查过document的所有childNodes,以及document.documentElement,都找不到“源代码”。也许“源代码”被保存到window这个对象中去了?谢谢!

解决方案 »

  1.   

    LZ这样整有什么意义?firefox还不能这样弄,Ghrome也不行。就IE可以。这样实际就相当于:var myvar=10; function myfunc(){}; void(0);那肯定是整到当前的window对象里面去了,所以能访问到
      

  2.   

    这其实就相当于你点击了一个链接<a href="javascript:xxxx">xxz</a>,也不会在DOM树中增加什么节点,只是执行了一段代码而已。楼主怎么会有这种奇怪的需求。
      

  3.   

    我的意思是指当我在地址栏上运行js代码
    javascript:var myvar=10; function myfunc(){}; void(0); 
    以后,字符串(而不是变量myvar或函数myfunc)“var myvar=10; function myfunc(){}; void(0);”被存到当前页面的哪个地方去了。另外,在地址栏上运行js代码这个功能firefox,opera也有的,用来调试js会比较方便。
      

  4.   

    谢谢回复。
    其实就是想知道:用户在地址栏运行过js代码以后,当面的网页有没有办法获取用户运行过的js源代码。用处还是有一些的,比如我想统计一下在访问我的网页的众多用户里,有多少用户在地址栏上运行js代码来修改我的网页,这些用户运行的js源代码是什么,这样就能对网页的外观做出改进。另外,如果用户运行的js代码是用来解除我在网页上设置的一些限制(例如禁止copy),我也能做出有针对性的改进。
    我只是想知道有没有办法(比如使用js,jQuery或ajax等等