<script src="a.js?a"></script>
  <script type="text/javascript">
  //<![CDATA[
var a = document.getElementsByTagName("script")
alert(a[0].src.substr(a[0].src.indexOf("?")+1))
  //]]>
  </script>

解决方案 »

  1.   

    楼上的代码是向a.js传递了一个参数a,然后又显示了一个对话框,对话框的提示内容就是参数a?
    但楼主的意思应该是如何向js文件传递参数,以及如何在js文件中访问这些参数吧?
      

  2.   

    对。
    就是楼上说的意思。
    如何向js文件传递参数,以及如何在js文件中访问这些参数???
      

  3.   

    实际上没有必要“向js文件传递参数”。
    在js文件中你会定义一个个的函数,你只需要再定义一个函数(假定为InitParams),该函数接受你需要传递的参数,然后把该参数保存到该js文件里指定的全局变量中。你只要保证在调用其它方法之前,InitParams已经被正确地调用过即可,这样其它方法可以取得该全局变量中的值了
    建议楼主加强编程的基本功
      

  4.   

    我明白你说的意思。也觉得自己的基本不行。但是,我这里的使用是用于另一种情况。我想实现的是,当一个页面里调用aa.js的时候就随机生成一个对象。当调用aa.js?act=1的话,就生成一个规定的对象,不管是哪个页面调用。不知道我说明白了没有……
      

  5.   

    为什么一定要锁在 js 这个后缀名不放?换一个思路,用一个动态页面去接收参数,返回JS代码不是一样的吗? src="a.aspx?act=1"
      

  6.   

    “当一个页面里调用aa.js的时候就随机生成一个对象”,是访问aa.js的任何一个元素(包括变量和函数)的时候吗?似乎JavaScript还没这么高级的功能吧?
    如果只是调用某个函数的时候,那你完全可以在调用这个函数前执行一个类似如下initParams的方法:function initParams(act)
    {
      if (act == 1)
      {
        generateSpecificObject();
      }
      else
      {
        generateRandomObject();
      }
    }
      

  7.   

    楼主是不是想这样----一个js,多个页面共用,但每个页面有些不同,要真是这样的话可以这样做:
    在每个页面里都定义一个全局变量  
    如 在a页面里 var param='aa'   ...<script src=test.js></script>
       在b页面里 var param='bb'   ...<script src=test.js></script>
    这样在js里就可以使用这个全局变量 param 且每个页面的param 值都不同
      

  8.   

    用JS加参数的形式,国内用得比较少,看 netvibes 里就会有,一般是以参数来选择所要的功能,比如a.js?v=1选择第一种功能。用动态语言来做也可以的,像meizz所说的那样a.asp?v=1a.asp里就写
    <%if request("v")=1 then%>
    var a =1
    ....
      

  9.   

    我上边说得很清楚了,用动态语言来做也可以的,像meizz所说的那样a.asp?v=1a.asp里就写
    <%if request("v")=1 then%>
    //这里和平常一样写JS
    <%end if%>
      

  10.   

    动态语言做的我明白。现在是就用js 不用动态语言。就像你说的“用JS加参数的形式,国内用得比较少,看 netvibes 里就会有,一般是以参数来选择所要的功能,比如a.js?v=1选择第一种功能。”