2015-06-26 30 views
1

我已经在使用捆绑和缩小,但每个页面中都有一些javascript代码,它们还包含服务器端<% %>标签。我尝试在线JavaScript压缩器,但他们只是删除这些标签和它们内的一切。 有没有办法呢?缩小包含服务器端标签的javascript

示例代码:

if('<%=id%>'=='0'){ 
        $.get('/ajax/getnameinfo.aspx?l=<%=Settings.LanguageID%>&n=' + $('#name').val(), function (d) { 
         $('.wait').remove(); 
         var a = $(d).children().first(); 
         if (a.length == 0) { 
     }      $('form').submit(); 
    }); 
} 
+2

理想情况下:1.不要在新页面中创建类似的东西。 2.在任何现有页面中,将逻辑转换为一个函数,该函数接受单独的'.js'文件中的参数,并且只需调用该函数即可替换页面中的逻辑。然后,捆绑并缩小'.js'文件。 (在这个过程中,避免创建多个全局变量;您最多只需要一个:具有各种功能的对象作为属性。) –

+1

非常好的想法,非常感谢@ T.J.Crowder –

回答

2

把你生成的页面在这个地方:

window._server = {id: '<%=id%>', languageId: '<%=Settings.LanguageID%>'}; 

和修改JS到:

if(_server.id=='0'){ 
       $.get('/ajax/getnameinfo.aspx?l='+_server.languageId+'&n=' + $('#name').val(), function (d) { 
        $('.wait').remove(); 
        var a = $(d).children().first(); 
        if (a.length == 0) { 
    }      $('form').submit(); 
}); 

你可以用这明确任何变量替换_ SERVER绑定到js文件。如果你想用你的javascript同时使用asp驱动和js驱动参数,你可以考虑使用外部数据源(一个传递给构造函数的对象)。