我从控制器获取一个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调用此脚本而不将此脚本另存为变量?
任何帮助表示赞赏!
答案 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;