我怎么能写动态的JavaScript

时间:2010-04-09 05:33:35

标签: asp.net javascript

我如何编写动态javascript任何简单的例子或任何引用。 感谢你

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <script type="text/javascript" src="swfobject.js"></script>

<div id="flashPlayer">

</div>

<script type="text/javascript">




   var so = new SWFObject("playerSingle.swf", "mymovie", "192", "67", "7", "#FFFFFF");
   so.addVariable("autoPlay", "yes");
   so.addVariable("soundPath","song.mp3");
   so.addVariable("overColor","#000044")
   so.addVariable("playerSkin","1") 
   so.write("flashPlayer");


</script>
    </div>

    </form>
</body>
</html>

4 个答案:

答案 0 :(得分:3)

这是一个非常广泛的问题。

如果你的意思是如何使用javascript来设置swf对象的音频文件参数,那么如果我们采用你已经拥有的代码并假设你的网址是http://mydomain.com/musicplayer.html?audio=mysong.mp3,那么就有一个库http://adamv.com/dev/javascript/querystring可以提供帮助。使用它应该会产生类似于此的东西:

<script type="text/javascript">

   //assign variable to querystring
   var qs = new Querystring()

   //retrieve the parameter you want
   var requestedFile = qs.get("audio", "defaultsong.mp3")

   var so = new SWFObject("playerSingle.swf", "mymovie", "192", "67", "7", "#FFFFFF");
   so.addVariable("autoPlay", "yes");
   so.addVariable("soundPath",requestedFile);
   so.addVariable("overColor","#000044")
   so.addVariable("playerSkin","1") 
   so.write("flashPlayer");


</script>

答案 1 :(得分:1)

我将把你的问题解释为动态生成Javascript然后执行它。如果您使用的是Java 6,那么您可以执行类似这样的操作

ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine js = mgr.getEngineByExtension("js");
try {
   js.eval("print('Hello, world!')");
} catch (Exception e) { }

如果您需要生成非常复杂的JavaScript代码,我建议您使用StringTemplate等模板库

答案 2 :(得分:1)

如果您想使用ASP.NET来解析查询字符串而不是javascript,那么这样的事情应该有效:

<script type="text/javascript">

   var so = new SWFObject("playerSingle.swf", "mymovie", "192", "67", "7", "#FFFFFF");
   so.addVariable("autoPlay", "yes");
   so.addVariable("soundPath", '<%= Request.QueryString["song"] %>');
   so.addVariable("overColor","#000044")
   so.addVariable("playerSkin","1") 
   so.write("flashPlayer");

</script>

但是,如果你这样做,你将有一个安全漏洞 - 自定义制作的URL可以将任何内容嵌入到页面上执行的javascript中,包括恶意代码。您应该使用AntiXSS库对查询字符串中的值进行javascript编码,然后再将其插入到客户端javascript中。

答案 3 :(得分:0)

假设你有这个网址:

http://www.myplayer.com&song=mysong.mp3

重定向到此页面,您想播放mysong.mp3。

在javascript中,您可以使用window.location.href属性阅读网址。您需要自己解析它才能提取歌曲。

这个link可以帮助您解析。