我正在研究称为文件夹的Web UI控件 - 它基本上模仿Windows资源管理器文件夹 - 您在矩形内看到一个项目的网格,并且可以拖动项目,控件的不同实例,添加新项目等。每个项目由一个项目模板 - 基本上是一些PHP代码,决定了项目的外观,例如一个项目模板可能是这样的:拖我想用不同的取代它的项目时如何将信息从php传递到javascript
my_item_template.php:
<h3>my item</h3>
<p>i'm an item</p>
模板,例如:
my_item_drag_template.php:
<h3>my item</h3>
<p>i'm being dragged</p>
一个页面可以举办很多不同类型的项目,各有各的模板,其负载的模板,其下降的模板等。我的问题是将所有这些模板从服务器端移到客户端。
我现在在做什么 - 在服务器端阶段,我找出了所有需要的模板,并将它们包含在页面上,隐藏(display:none)。每当我需要一个模板(例如,当用户开始拖动一个项目,我需要它的拖动模板),我找到它,克隆它并使用。我想避免将所有这些代码隐藏在我的页面中,也许将它存储在jQuery的$(文件夹).data或其他东西。但是,我仍然需要从PHP中移动它。一种选择是将模板插入$(folder).data,并在页面加载时将它们从页面中移除,但我宁愿避免它(它会添加不必要的dom操作)。有没有更好的方法?
如果允许高速缓存,则可以在随后的加载中获得一些性能。模板应该保持相当静态,所以这不是什么大不了的事情。 – 2009-10-20 20:45:08