问题是这样的,我要在我的页面上引入一个js文件,但因为这个js文件里面嵌入了jsp代码,所以文件格式是.jsp的,
然后我想在一个页面引用它,
<script language="JavaScript" src="<%=request.getContextPath()%>/f9999.do?operate=getAddJs&prod_id=<%=id%>"></script>
但是这时候,页面上是没有id这个变量的,它是在这个页导入之后,在页面输入的,是从一个别的地方得到的,这时候,我才想执行导入js文件的代码,因为这时候
有了id,
各位大侠,有什么好办法,

解决方案 »

  1.   

    问题是这样的,我要在我的页面上引入一个js文件,但因为这个js文件里面嵌入了jsp代码,所以文件格式是.jsp的, 
    然后我想在一个页面引用它, 
    <script language="JavaScript" src=" <%=request.getContextPath()%>/f9999.do?operate=getAddJs&prod_id= <%=id%>"> </script> 
    但是这时候,页面上是没有id这个变量的,它是在这个页导入之后,在页面输入的,是从一个别的地方得到的,这时候,我才想执行导入js文件的代码,因为这…
    晕...
      

  2.   


    function loadScript (url, callback) { 
    var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    if (callback) 
    script.onload = script.onreadystatechange = function() { 
    if (script.readyState && script.readyState != 'loaded' && script.readyState != 'complete') 
    return; 
    script.onreadystatechange = script.onload = null; 
    callback(); 
    }; 
    script.src = url; 
    document.getElementsByTagName('head')[0].appendChild (script); 

      

  3.   

    似乎明白了一点楼主意图:这个页面加载时,在客户端产生一个ID,这个ID又要决定当前页面中要引用的 
    <script language="JavaScript" src=" <%=request.getContextPath()%>/f9999.do?operate=getAddJs&prod_id= <%=id%>"> </script> 
    中的id值。
    不知道为什么楼主不在服务器端确定这个ID,如果这样也就容易解决,按楼主的引用方式即可以了;
    如果只能在客户端才能得到这个id,那这个 js 加载方式就不能用 <%=id%> 传值了,这分明是使用服务器端的变量 id。可考虑用下面的方式:var id='xxx'; //这里得到客户端的id\
    document.write('<scri'+'pt language="JavaScript" src="<%=request.getContextPath()%>/f9999.do?operate=getAddJs&prod_id='+id+'"></scr'+'ipt>');
      

  4.   

    function fCommonGetScript(sid,sUrl, sCharset){
        if(!$(sid))
        {
            var oJs = document.createElement("script");
            oJs.setAttribute("id", sid);
            oJs.setAttribute("src", sUrl);
            oJs.setAttribute("charset", sCharset || "utf-8");
            oJs.setAttribute("type", "text/javascript");
            document.body.appendChild(oJs);
        }
        return true;
    };fCommonGetScript("objjs","xxx.js");