必威体育下载基督教Heilmann

您目前正在浏览javascript类别的存档。必威体育简介

“javascript”类别的存档

使用PromoteJS促进更好的JavaScript文档

星期天,9月26日2010

正如我上周在硅谷访问期间以及刚刚从柏林JSConf发生的事情中听到的,Mozilla正在努力提升这一功能争取民主变革运动JavaScript的文档,您可以提供一些帮助游击搜索引擎优化-只需添加以下图像与正确的代码,在http://www.promotejs.com/任何关于JavaScript的文章:

JavaScript JS文档:JS数组拼接,JavaScript数组拼接,JS .splice数组,JavaScript数组.splice

当你搜索“JavaScript”这个词时,原因是显而易见的——你会发现wiki文章甚至产品告诉你在使用JavaScript时不要在意学习JavaScript。必威体育下载JavaScript这个词很热搜索引擎优化学期期间DHTML随着时代的发展,现在很多网站都不再有在网上寻找好东西的经验了。当我写JavaScript书的时候JavaScript开始与DOMAjax脚本和我有一章告诉你去哪里找的其他信息争取民主变革运动SelfHTML(如果你是德国人或西班牙人)我完全不知道。最近Sitepoint开始整理一些好的文档但那时我们只有w3学校。

让我们用手电筒照房间里的大象:W3Schools。这个网站几乎是所有技术搜索词的第一名CSS,JavaScript和HTML。原因如下:

  • 它的搜索引擎优化为抽头结构,链接数量和深度内容(长尾)
  • 它让你有一种很好的感觉——“哦,这是多么简单啊!”酷,不需要再读了,复制粘贴这个例子,我是专家
  • 它又快又小

“良好的感觉”部分也让它变得危险。我在几次谈论W3schools的塞壬之歌时咆哮道——它给你的是什么,而不是为什么。你可以用它作为参考,当你已经知道你的东西,但它是危险的人学习一个主题的问题。必威体育下载编程不仅仅与语法有关——它还与应用语法的环境有关。W3schools就像用快餐来教育你的孩子,快速和便宜。这不是W3Schools维护者的错——这是人们把新学习者送到那里获取信息的错。必威体育下载

PHP文档是快速信息和该领域实现者见解的很好的折衷——我从对文档的评论中学到了更多必威体育下载PHP而不是来自条目本身。

编写优秀的代码示例在我的开发人员福音手册的一章中,我描述了如何编写解释和教育的代码示例的蓝图。遗憾的是,这比仅仅显示语法要复杂得多。这就是为什么那些只告诉用户“如何”获胜的文档站点更新得更快,开销更少。

这是非常酷的看到克里斯Willison克里斯•威廉姆斯(DOH!)其他人也在接受挑战,Mozilla对我来说是这种努力的完美宿主——他们是开放的,独立于JS,并有提供良好文档的记录。

有趣的是大约5年前,我尝试过类似的方法对所有文档:

用新教程替换旧教程——完全用照片取代著名教程

除了被黑了一次我发现没有支持它,所以我在一年前关闭了它。现在,随着市场的领军人物在领先的语言会议上谈论类似的事情,我们有了更好的机会。帮助我们!

可维护的JavaScript -视频我的前锋谈话现在是可用的

星期六,10月11日,2008

可爱的人(看看我是什么意思)本科信息通信技术刚刚发布了“我关于可维护JavaScript的演讲视频”http://www.bachel-ict.nl/christianheilmann必威体育下载先锋会议在阿姆斯特丹举行:

这是演讲的第一部分:


Chris Heilmann:可维护JavaScript,第1部分Bachelor-ict.nlVimeo

和第2部分:


必威体育下载Christian Heilmann:可维护JavaScript,第2部分Bachelor-ict.nlVimeo

演讲结束后,他们还采访了我,重申了一些观点:


必威体育下载Christian Heilmann:可维护的JavaScriptBachelor-ict.nlVimeo

伟大的工作,谢谢你!

你可以找到幻灯片在slideshare上的演讲

凭空变出YUI

星期六,8月2日,2008

我爱YUI加载程序因为这是一个包含YUI在飞。最酷的一点是它得到了YUI组件的CDN并且知道依赖性,所以我不需要知道。如果我需要YUI的东西,我不需要额外的脚本维护人员必须包括,只是我的脚本。然而,我们还需要包括YUI加载程序本身。

除非你用雅虎_config侦听器。这个东西比这两个都老YUI获取和YUI它是一个对象方法,每次a被调用YUI组件加载。为什么不加载YUI装载机使用这个吗?

一个问题是YUILoader不会调用配置侦听器说它是Loader,这是get效用。另一个问题是,它不能在调用自己“get”之后立即执行加载程序。解决方法是使用超时。

把这些都包起来雅虎_config对象,你会召唤YUI无中生有。加载以下示例YUIDom,YUI事件和警报“完成”,一旦一切就绪。看看这里


YAHOO_config = function () {
var s = document.createElement(' script');
s.setAttribute('类型',' text / javascript ');
s.setAttribute(“src”、“http://yui.yahooapis.com/2.5.2/”+
“构建/ yuiloader / yuiloader-beta-min.js”);
document.getElementsByTagName(头)[0].appendChild(年代);
返回{
听众:函数(o){
如果(o.name = = =‘得到’){
window.setTimeout (YAHOO_config.ready, 1);
}

},
准备:函数(){
var loader = new雅虎.util.YUILoader ();
var dependencies = [' yahoo','dom','event'];
loader.require(依赖性);
loader.loadOptional=true;
loader.insert({
调用onSuccess:函数(){
console.log(“完成了!”);
}

});
}

};
}();

感谢Alex Liu的setTimeout技巧。

根据我的课程参与者,缺少的本地DOM方法

周四,7月31日2008

在这门课程中,我目前正在桑尼维尔的基础上DOM我问与会者在本地语言中缺少哪些方法DOM这是我们的想法:

  • 创建(url文本)-一个快捷方式的方法,以创建一个链接与文本节点内-这是你经常要做的,当创建接口
  • insertAfter(newNode oldNode)-有一个方法,但是没有insertAfter
  • removeNode(节点)——本机removeChild是复杂的
  • textElement(elementName、文本)-似乎没有必要创建一个元素,然后创建一个文本节点并应用它,这可能是第一步
  • addScript(url)-延迟加载javascript
  • normalizeNode(节点)-删除那些讨厌的断行干扰nextSiblingpreviousSibling
  • getText(节点)-检索文本节点或元素节点的文本内容
  • setText(节点,文本)-无论节点类型如何设置文本

我要求与会者每人想出一个方法并展示给他们,这是我们得到的:


jukuhelpers = function(){
函数创建(url、文本、cssClass){
var link = document.createElement(' a');
if (typeof url = 'string'){
link.setAttribute(“href”,url);
}

if (typeof text = ' string'){
link.appendChild(document.createTextNode(文本));
}

if (typeof cssClass = 'string'){
link.classname=cssclass;
}

返回链接;
}

函数insertAfter(newNode oldNode){
oldNode.nextSibling
吗?oldNode.parentNode.insertBefore(newNodeoldNode.nextSibling)
:oldNode.parentNode.appendChild(newNode);
}

函数removeNode(节点){
如果(节点){
node.parentNode.removeChild(节点);
}

}
函数textElement(elementName、文本){
if (typeof text = ' string'){
var txtElement = document.createElement(elementName);
var txtNode = document.createTextNode(text);
txtElement.appendChild(txtNode);
}

返回txtElement;
}

函数addScript(url){
var s = document.createElement(' script');
s.setAttribute('类型',' text / javascript ');
s.setAttribute(“src”,url);
var head = document.getElementsByTagName(' head')[0];
head.appendChild(年代);
}

函数getText(节点){
var txt;
if(node和node.nodeType=1){
如果(node.hasChildNodes()){
txt = node.firstChild.nodeValue;
}

}
if(node和node.nodeType=3){
txt = node.nodeValue;
}

返回三种;
}

函数setText(节点、文本){
if(node和node.nodeType=1){
如果(node.hasChildNodes()){
node.firstchild.nodeValue=文本;
}

其他{
node.appendChild(document.createTextNode(文本));
}

}
if(node和node.nodeType=3){
node.nodeValue=文本;
}

}
函数normalizeNode(节点){
如果(node.hasChildNodes){
var spaceTest = / s ^ + $ /;
var children = node.childNodes;
(var = 0;孩子(我),我+ +){
if(children[i].nodeType==3){
如果(spaceTest.test(孩子[我].nodeValue)){
[我].parentNode.removeChild儿童(儿童[我]);
}

}
}

}
}

返回{
创建:创建,
insertAfter:insertAfter,
removeNode:removeNode,
textElement:textElement,
addScript:addScript,
getText:getText,
setText:setText,
normalizeNode:normalizeNode
}

}();

你可以得到jukuhelpers.js如果您想自己使用它,请归档。

还有什么遗漏或错误吗?

@mediaAjax 2008站点是实时的

周二,7月1日2008

@mediaAjax就像去年一样,Patrick Griffith召集了一群令人印象深刻的JavaScript专家来讨论Ajax和脚本编程。今年的时间表读起来确实很不错,我很高兴看到使用JS的所有方面都得到了覆盖,包括一个由clearleft的Richard Rutter介绍了如何构建Ajax交互

这对我来说尤其欢迎,由于JavaScript在当今的web开发中是如此的无处不在,我们都需要了解它,并引入我们的不同技能来制作优秀的产品。JavaScript不应该让信息架构师和设计人员感到震惊,但是要帮助他们让最终用户更容易使用。

这也很好地与我的会议相联系,使用JavaScript来增加产品的可访问性,指定脚本启用,相同的作为这次活动的组织者,我围绕着同样的主题:


脚本启用

JavaScript和可访问性之间的关系从来就不是很好。关于辅助技术的使用和功能,流传着许多错误的说法,认为JavaScript是一种糟糕的技术,而Ajax则完全是失言。这种情况正在发生变化,因为许多公司现在都向使用Ajax和JavaScript驱动的api的开发人员开放系统。本节将解释如何使用其中一些工具向以前被屏蔽的残疾用户提供数据。可访问性首先是消除用户的障碍,不管能力。使用JavaScript和Ajax解决富媒体应用程序的可访问性问题是一种方法。这就像创建混搭来测试一些api一样——只不过好处比仅仅证明一点要高得多。

我期待@mediaAjax,我去年在那里玩得很开心。我可能有点累了,就像我几天前在阿姆斯特丹的先锋会议上所说的那样:)