代码之家  ›  专栏  ›  技术社区  ›  Doug T.

从服务器自动生成javascript代码是个坏主意吗?

  •  2
  • Doug T.  · 技术社区  · 16 年前

    .

    var local = {TEMPLATED FIELD};
    

    将任意javascript插入到带有分号的内容中。(我试图编写代码来对此产生偏执)。

    6 回复  |  直到 16 年前
        1
  •  5
  •   pavium    16 年前

    shaving yaks 在你的项目中。保持JavaScript登录在JavaScript中。

    从你提供的一点点信息来看,你的解决方案似乎是明智的。

        2
  •  4
  •   cobbal    16 年前
        3
  •  2
  •   pavium    16 年前

    <script src="/WebResource.axd?d=9h5pvXGekfRWNS1g8hPVOQ2&amp;t=633794516691875000" type="text/javascript"></script>
    

        4
  •  1
  •   Spike Williams    16 年前

    如果你想感觉更好,请确保你的大部分JavaScript都在单独的库文件中,这些库文件不会被生成,然后,当你生成代码时,生成对这些库的调用,而不是生成大量的JavaScript代码。

        5
  •  0
  •   pavium    16 年前

    从服务器生成JS是可以的。请记住,不要从服务器上获取太大的页面。

        6
  •  0
  •   Brett Ryan    16 年前

    一般来说,我避免从服务器端语言自动生成JavaScript,尽管我这样做了;创建从我的JavaScript将使用的服务器端变量初始化的JavaScript变量。这使得测试和调试变得更加简单。

    在您的情况下,我可以创建如下易于测试的局部变量:

    <script type='text/javascript' language='javascript'>
    <!--
    var FUNC_ARG_X = <%= keyX %>;
    var FUNC_ARG_Y = <%= keyY %>;
    var FUNC_ARG_Z = <%= keyZ %>;
    //-->
    </script>
    <script type='text/javascript' language='javascript'>
    <!--
    function DoCleanCall(arg) {
        // Whatever logic here.
    }
    //-->
    </script>
    

    <a href='#' onclick='DoCleanCall(FUNC_ARG_X);'>Test</a>
    

    当然,您可以将服务器端变量嵌入到 <a/> 标签,但有时需要从JavaScript的其他部分引用这些值。

    <script>