将javascript代码设置为变量

时间:2014-09-21 11:02:45

标签: javascript asp.net-mvc razor

我从控制器获取一个java脚本代码的变量,并希望使用此数据作为字符串初始化java脚本文件的变量。

我的意思是:

Model.TrialScript等于字符串:

<script type="text/javascript">var j = new Date();</script>

(我是从DB那里得到的)

然后,我想在我的js文件中做下一件事:

var TrialScript = '<%= Model.TrialScript %>';

问题是TrialScript不像我期望的那样:

var TrialScript = '<script type="text/javascript">var j = new Date();

假设我必须将js代码设为:<script type="text/javascript">而不是: <script type=\"text/javascript\">,我该如何解决这个问题?

另一件事可能会有所帮助:我只想在用户按下按钮时调用此脚本(名为:button1

也许在单击按钮后可以从js调用此脚本而不将此脚本另存为变量?

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

您可以尝试这种方式:

var TrialScript = '<%= Model.TrialScript %>';
//remove script tags, get only the code
TrialScript = TrialScript.replace(new RegExp("^<script.*?>(.*)</script>"), "$1");
// transform the code as a JS function
TrialScript = new Function(TrialScript);
// associate to the button1
document.getElementById("button1").onclick = TrialScript;