2009-12-11 47 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