我从控制器获得一个变量,该变量是一个java脚本代码,并希望将该数据作为字符串插入一个java脚本文件的变量中。
我的意思是:
Model.TrialScript
等于以下字符串:
<script type="text/javascript">var j = new Date();</script>
(我是从移民局得到的)
然后,我想在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调用此脚本,而不将此脚本保存为变量?
任何帮助都很感激!
发布于 2014-09-21 03:14:23
你可以这样做:
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;
https://stackoverflow.com/questions/25958510
复制