我正在学习Python并构建我的第一个Web应用程序.我一直在通过django教程,并开始考虑如何做客户端.我希望它是web 2.0-ish,并且需要一些AJAX/javascript功能来显示来自数据库的列表,以及诸如日期选择器,自动完成等的酷事.
似乎html/css/javascript(尤其是jquery)是最受欢迎的选项.作为一个新手,我对像qooxdoo和sproutcore这样的框架很感兴趣,但是他们并不完全明白它们是如何工作的.例如:
要么,
使用/不使用其中一种的优点/缺点是什么?
欢迎任何初学者的建议!
把你的脚放在专门开发人员的靴子里,这是Web开发的新手.当然,他必须处理JavaScript,并且可能会在为其工作选择框架时遇到一些困难.
一般用途:如果一个简单的用法是第一个要求,你建议哪一个?
是否有一个JavaScript框架专注于通过调整实现差异来扩展JavaScript?我并不是指一个简单地在不同浏览器中提供相同功能的框架,而是使非标准浏览器的行为就像它们符合标准一样.
基本上我想要一些适用于JavaScript的东西,它可以ie7.js用于MSIE,html5shiv也可以用于HTML5元素.或Web Sockets或Canvas的各种变通方法.
我想jQuery和它的同类可以做到这一点,但我更喜欢允许我编写正常的,符合标准的JavaScript的东西,就像浏览器之间没有差异一样.
编辑:正如其他所有答案似乎都指出的那样,是的,jQuery是JavaScript,是的,大多数JavaScript框架试图提高跨浏览器的兼容性,让我澄清一下我的意思.
如今,不同浏览器的JavaScript实现之间的差异与语言本身没有多大关系.除了旧版浏览器中缺少的一些内置方法外,这些类型的行为也大致相同.但仍存在差异,特别是目前的现状(Chrome/Firefox/Safari)和MSIE的旧版本(即MSIE 7)之间存在差异.最值得注意的是,DOM往往具有更少或更微妙的API特性.
我不想只是一个允许我编写适用于大多数浏览器的JavaScript的框架.那些是一打一打.我想要一个薄层,允许我编写适用于现代浏览器和传统浏览器的代码.jQuery,Dojo等都超越了这一点,提供了自己独特的API,而不是统一现有的API.
Rich Ajax Platform如果我想避免跨浏览器渲染差异,说"使用jQuery"就像是说我应该使用(或其他代码生成框架).我不想要"替代品",我想要一个"bugfix"(不是字面意思).
编辑2:只是为了推动这一点:我不是在寻找任何框架.我对jQuery非常熟悉,尝试过YUI,我正在考虑尝试给Dojo.我不只是想要一个"好"的框架.我想要一个适合我非常具体的描述.如果没有类似的东西也没关系,虽然知道为什么不是很有趣(即技术原因,而不是"每个人都忙于使用jQuery").
我即将开始构建一个具有多个模块的JS库.假设库名为Library,两个模块称为One和Two.我希望最终用户能够以两种不同的方式调用库:
Library.One.somefunction(params)
Run Code Online (Sandbox Code Playgroud)
要么
somefunction(params)
Run Code Online (Sandbox Code Playgroud)
基本上,我想给最终用户选择是否包含命名空间.有没有办法做到这一点?另外,如果我还想提供缩小版本的库,有没有一种好方法可以做到这一点?我可以在Node.js中找到这个库; 现在,我将自己使用它,但我想以这样的方式设计它,以便将来转向一个可共享的项目并不太难.
你可以指点我的任何参考都会很棒,谢谢!
我尝试提高我的JavaScript技能.我不明白为什么(5)有效,(2)返回错误.不一样吗?
a.fn2()//好的
var A = function () {
this.fn = function () { alert(3); }
}
A.prototype = {
fn2: function () { alert(4); }
};
var B =
{
fn: function () { alert(1); }
}
B.prototype = {
fn2: function () { alert(2); }
};
Run Code Online (Sandbox Code Playgroud)理论上JS在浏览器中运行,然后在第一次下载后可以轻松复制并直接从本地运行,而无需通过远程服务器.因为我需要出售一个应用程序*js(按使用付费)我需要检查每个请求,并且只在该特定网站需要时才提供,当然,只有当他付费时才需要.
我注意到使用Prototype JavaScript框架,Ajax请求被称为标头X-Requested-With.
其他JavaScript库如jQuery,dojo和YUI是否会在其Ajax请求中添加标头?它总是被称为X-Requested-With?这是标准吗?
Prototype的完整标题:
X-Requested-With: XMLHttpRequest
X-Prototype-Version: 1.5.0_rc0
Run Code Online (Sandbox Code Playgroud) 在BoilerplatJS站点托管的示例项目中,当我们激活特定的示例模块(例如clickCounter)时,其他模块中的所有脚本(component.js,viewmodel.js和其他模块)都会在浏览器中加载.
如果我们必须根据某种授权将模块限制为用户,如何限制此行为?
谢谢!
此代码显示不间断的空间转义序列而不是实际的空格:
<html>
<head>
<script src="../js/jquery.min.js"></script>
<script src="../js/knockout-2.2.1.js"></script>
<script>
$(document).ready(function() {
var modelType = function() {
this.A = ko.observable('a b c');
};
var model = new modelType();
ko.applyBindings(model);
});
</script>
</head>
<body>
<p data-bind="text: A"></p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
它显示以下内容:
a b c
Run Code Online (Sandbox Code Playgroud)
代替
a b c
Run Code Online (Sandbox Code Playgroud)
我该如何防止这种行为?
javascript javascript-framework html-escape-characters knockout-2.0 knockout.js
令我感到困惑的是,我无法真正看到SCE在angularjs中的真正好处(即使在阅读了文档之后)关于安全性的好处,并想知道为什么反应不需要有这样的SCE?
所以问题只是为了重新组合:
javascript ×7
ajax ×2
angularjs ×1
http ×1
knockout-2.0 ×1
knockout.js ×1
node.js ×1
qooxdoo ×1
reactjs ×1
sproutcore ×1