必威体育下载基督教Heilmann

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

“javascript”类别的存档

使用PromoteJS促进更好的JavaScript文档

星期日,9月26日二千零一十

正如我上周访问山谷时听到的,刚刚从柏林JSconf会议上听到的,Mozilla正在努力提升这一功能争取民主变革运动关于javascript的文档,您可以通过提供一些游击队SEO-只需添加以下图片,并在http://www.promotejs.com/任何关于JavaScript的文章:

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

当你搜索“JavaScript”这个词时,原因是显而易见的——你会发现wiki文章甚至产品告诉你在使用JavaScript时不要在意学习JavaScript。必威体育下载因为“javascript”这个词很热门SEO学期期间DHTML几天之后,随着复活的到来,很多网站在你试图用网络来寻找好东西的时候,已经失去了寻找好东西的经验。当我写我的javascript书时开始使用javascriptDOM脚本和Ajax我有一章告诉你去哪里找的其他信息争取民主变革运动SelfHTML(如果你是德国人或西班牙人)我完全不知道。最近Sitepoint开始整理一些好的文档但那时我们只有W3学校。

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

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

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

PHPdocs是快速信息的一个很好的折衷方案,具有来自该领域的实施者的见解–我从中对docs的评论中学到了更多必威体育下载PHP而不是来自条目本身。

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

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

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

用新的教程替换旧的教程-非常有名的照片

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

可维护的javascript——现在可以观看到我的前沿对话视频

星期六,10月11日,二千零八

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

这是演讲的第一部分:


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

第2部分:


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

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


必威体育下载Christian Heilmann:可维护的javascriptBachelor-ict.nl维米欧.

伟大的工作,谢谢您!

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

凭空变出YUI

星期六,8月2日,二千零八

我爱YUI装载机因为这是一个包含YUI在飞。最酷的一点是YUI组件来自CDN并且知道依赖性,所以我不需要知道。如果我需要YUI为了某事,我不需要额外的脚本维护人员必须包括的节点,只是我的脚本.然而,我们还需要包括YUI加载器本身。

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

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

把所有的东西都包在里面雅虎配置对象,然后您将变戏法YUI无中生有。加载以下示例YUIDomYUI事件和警报“完成”,一旦一切就绪。看看这里


yahoo_config=function()
var s = document.createElement(' script');
s.setattribute('type','text/javascript');
s.setAttribute (“src”、“http://yui.yahooapis.com/2.5.2/”+
'build/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.loadOptional = true;
loader.insert({
调用onSuccess:函数(){
console.log(“完成!”);
}

(});
}

};
}();

多亏了刘翔的排练技巧。

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

周四,7月31日二千零八

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

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

我要求参加者每人提出一个方法,并向他们展示,这是我们得到的:


jukuhelpers=function()
函数createLink(url,text,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)
如果(节点){
node.parentnode.removechild(节点);
}

}
函数textElement (elementName、文本){
if(typeof text='string')
var txtelement=document.createElement(元素名称);
var txtnode=document.createTextnode(文本);
txtElement.appendChild (txtNode);
}

返回txtelement;
}

函数addscript(url)
var s = document.createElement(' script');
s.setAttribute('类型','文本/javascript');
s.setAttribute (“src”,url);
var head=document.getElementsByTagname('head')[0];
head.appendChild(年代);
}

函数getText(node)
var txt;
if(node&&node.nodeType=1)
if(node.hasChildNodes())
txt=node.firstchild.nodeValue;
}

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

返回TXT;
}

函数setText(节点、文本){
if(node&&node.nodeType=1)
if(node.hasChildNodes())
node.firstChild.nodeValue = text;
}

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

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

}
函数normalizenode(node)
如果(node.hasChildNodes){
var spacetest=/^s+$/;
var children=node.childnodes;
对于(var i=0;children[i];i++)
if(children[i].nodeType==3)
if(spacetest.test(children[i].nodevalue))
[我].parentNode.removeChild儿童(儿童[我]);
}

}
}

}
}

返回{
createLink:创建链接,
插入后:插入后,
重塑模式:重塑模式,
textElement:textElement,
addscript:添加脚本,
getText: getText,
设置文本:设置文本,
Normalizenode:标准化node
}

}();

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

还有什么遗漏或错误吗?

@mediaAjax 2008站点是实时的

周二,7月1日,二千零八

米提阿贾克斯就像去年一样,Patrick Griffith召集了一群令人印象深刻的JavaScript专家来讨论Ajax和脚本编程。今年的日程安排读得非常好,我很高兴看到使用JS的所有方面都被覆盖了,包括一个由clearleft的Richard Rutter介绍了如何构建Ajax交互.

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

这也与我的课程很好地联系在一起,对于使用javascript来提高产品的可访问性,没有人感到惊讶,指定脚本启用,相同的作为这次活动的组织者,我围绕着同样的主题:


脚本启用

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

我期待@mediaAjax,我去年在那里玩得很开心。不过我可能有点累了,因为我将在几天前在阿姆斯特丹参加前沿会议:)