让我们说我想扩展网站功能,而且我不确定我正在寻找什么样的解决方案。它不是我的网站所以显然我无法使用原始代码或数据库。
我想到的第一件事是简单的动作,只适用于html代码,比如使用不同的列进行排序。在这种情况下,我想我应该考虑创建浏览器插件,对吗?
但是如果我想存储其他数据然后在我的个人资料中显示呢?我不确定哪种解决方案允许我在网站内显示我的HTML代码,然后例如将数据发送到我的数据库。不要误会我的意思 - 我知道如何在ASP.NET中创建网站或使用Django,但是当我想扩展网站时,我不知道我正在寻找什么技术。属于我。
答案 0 :(得分:0)
听起来您在询问有关JavaScript的客户端功能。有许多库可以让您以编程方式在功能上更改HTML,例如表列排序和用户输入数据集合。
流行的框架和库包括jQuery,angular,react,mithril和更新的类似vuejs和magjs。
有些需要特殊的模板语法或与html混合的行为,而其他像magjs将html& js 100%。
这是表格排序的MagJS示例:
JS:
var table = {}
table.controller = function(props) {
this.list = [{
name: "John",
age: 21
}, {
name: "Mary",
age: 25
}, {
name: "Bob",
age: 47
}]
}
table.view = function(state, props) {
state.table = sorts(state.list)
}
function sorts(list) {
return {
_onclick: function(e) {
var prop = e.target.getAttribute("data-sort-by")
if (prop) {
var first = list[0]
list.sort(function(a, b) {
return a[prop] > b[prop] ? 1 : a[prop] < b[prop] ? -1 : 0
})
if (first === list[0]) list.reverse()
}
}
}
}
mag.module("sortable", table)
HTML:
<div id="sortable">
<table>
<tr>
<th data-sort-by="name">Name</th>
<th data-sort-by="age">Age</th>
</tr>
<tr class="list">
<td class="name"></td>
<td class="age"></td>
</tr>
</table>
</div>
以下是工作示例的链接:http://jsbin.com/raqeluluxe/1/edit?html,js,output
希望有所帮助!