2010-05-28 56 views
2

我只能夠讓每個站點都想要我的小工具,將代碼塊複製並粘貼一次..關於製作小部件的想法?

所以它需要真正的未來證明。

我想了一會兒,這是小工具的代碼,我拿出已經:

<script type="text/javascript" src="http://www.mydomain.com/my-future-proof-widget.js"></script> 
<div id="mywidget"></div> 

這會是最好的計劃?

這可能會造成任何限制嗎?

關於widgetry的任何其他想法?

+1

提供一些API與您的js! – 2010-05-28 15:22:15

回答

2

我不會將<div id="mywidget"></div>添加到代碼中,因爲未來的實驗可能會建議替代的容器/佈局等。相反,我會在我的腳本中提供一個接受id或節點的設置函數。

所以安裝腳本可能看起來更像是這樣的:

<script type="text/javascript" src="http://www.mydomain.com/my-future-proof-widget.js"></script> 
<script type="text/javascript"> 
    mywidget.init("my_id_or_node"); 
</script> 

使用的init()功能還可以讓用戶添加到動態生成的窗口小部件的代碼,或以響應用戶的活動更容易地創建。如果它在加載的那一刻運行,那麼它會大大限制人們的選擇。

0

由於您的小部件正在引用服務器上的文件,因此您始終可以對其進行更新。你能得到更多的未來證明嗎?

這對我來說很好。

1

怎麼是這樣的:

<script type="text/javascript"> 
var MyWidgetSettings = { 
idList: ["myWidget1", "myWidget2"], 
color: "#f00", 
behavior: "erratic", 
someOtherSetting: "whatev" 
}; 
</script> 

<div id="myWidget1"></div> 
<div id="myWidget2"></div> 

<script type="text/javascript" 
src="http://www.mydomain.com/my-future-proof-widget.js"></script> 

雖然我猜你並不需要添加一個設置對象做默認行爲(即,查找ID爲「進myWidget」分區,並插入一個Wi​​dget)對於更復雜的東西,它可以很方便。我還建議在div(s)之後放置腳本標記,因此當文件加載時它可以立即替換元素,而不必稍後再回來執行它。

您目前的做法現在可能還不錯,您可以根據需要在未來使其更加複雜,使其適用於簡單情況。