2009-12-11 40 views
0

这种情况是,我想在用户单击按钮时更新JavaScript代码片段(呈现小部件)。JQuery更新JavaScript片段

这个想法是,用户可以输入一些参数来配置它们的widget,然后点击一个按钮来查看它的预览。

有没有办法通过jQuery来做到这一点?

的片段会是这个样子:

<script type="text/javascript"><!-- 
var yoc_w_frame = "SiteName"; 
var yoc_home = "HomePath"; 
var yoc_w_width = 300; 
var yoc_w_height = 250; 
//--><script> 
<script type="text/javascript" src="http://domain.com/js/js.js"></script> 

我试图$("#divTest").append(script);其中脚本是保存建立脚本字符串变种。

+0

你们是不是要直接在文件本身的更新片段或者你只是寻找一个赢得”预览是(但可能)保存? – 2009-12-11 16:40:35

+0

直接更新代码片段。更多的上下文,我也有一个文本框,我更新了最新的JavaScript,(更新与用户最新的偏好更改)。流程是用户选择他们的偏好,然后点击“更新”,我想在这个时候(1)向他们展示他们应该剪切和粘贴的文本框中的代码,以及(2)我想写将相同的代码添加到页面中,以便他们可以查看窗口小部件的最新预览。 – lambs 2009-12-11 16:45:30

回答

1

我已经成功地做到这一点这样的(一些丑陋的代码如下):

<!DOCTYPE html> 
<html> 
    <head> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
    </head> 
    <body> 
     <script type="text/javascript"> 
     var i = 0; 

     function update() { 
      i++; 
      var script = '<script type="text/javascript"> function test() { alert(' + i + ');}<\/script>'; 
      $(script).appendTo(document.body); 
      test(); 
     } 
     </script> 

     <a href="javascript:update()">click</a> 
    </body> 
</html> 
+0

感谢您的回复。 然而,这样做还是有效的,但是,尝试使用src attr编写脚本标记有些不同: 从上面的例子来看,这实际上是渲染的一部分。有任何想法吗? – lambs 2009-12-11 20:47:09

+0

你有没有试过$ .getScript()? – 2009-12-12 10:48:27

+0

我有,并可以让小部件呈现在页面的底部,但没有任何运气得到它通过将它附加到一个div,(放置)。我将不得不阅读更多关于$ .getScript()方法以及如何工作的信息。 – lambs 2009-12-13 15:46:56