2010-05-28 37 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)之后放置脚本标记,因此当文件加载时它可以立即替换元素,而不必稍后再回来执行它。

您目前的做法现在可能还不错,您可以根据需要在未来使其更加复杂,使其适用于简单情况。