必威体育下载基督教Heilmann

您正在浏览我的文章类别的存档。必威体育简介

“我的文章”类别的存档

使用YQL将成绩单添加到来自SlideShare的演示文稿中

星期天,1月11日,2009

我喜欢SlideShare(是的,很多重复,我知道)。这是一个伟大的方式传播你的演讲因为它允许其他人将它们嵌入他们的博客和网站,它也允许人们下载和重用你所做的。

我真正喜欢SlideShare的一点是它能创造HTML演示文稿的文字记录显示在页面的下方,如下截图所示:

幻灯片截图显示成绩单

现在,最烦人的是幻灯片API尽管它充满了美好,但它并没有提供一种获取这些记录的方法,以防您希望在演示文稿旁边显示它们。您还需要对详细信息进行身份验证,这是非常必要的,但如果您只是想提供JavaScript解决方案,那么这是非常糟糕的。

好在现在有一种简单的方法可以从任何网站检索信息并将其还原为JSON在JavaScript中使用:钇铝石榴石。使用钇铝石榴石控制台和一些XPATH我例如,能否提取转录信息并将其还原为XML(slideshareURLhttp://www.slideshare.net/cheilmann/shifting-gears-presentationXPATH//OL/LI):


http://query.yahooapis.com/v1/public/yql?q=select * from html where url%3D"http%3A%2F%2Fwww.slideshare.net%2Fcheilmann%2Fshifting-gears-presentation" and xpath%3D'%2F%2Fol%2Fli'&format=xml

如果将格式定义为JSON并提供一个回调参数,你可以很容易地用它来编写一个小脚本注入脚本到SlideShare嵌入:

slideshareTranscripts = function(){
var div = document.getElementsByTagName(' div');
var container = {};
(var = 0;div[我];我+ +){
如果(div[我].id.indexOf (__ss) ! = = 1) {
var slideurl = div[i].getElementsByTagName(' a')[0].href.split(' ?')[0];
容器(slideurl) = {div[我],id};
得到(slideurl);
}

}
函数得到(url){
var url = ‘http://query.yahooapis.com/v1/public/yql?' +
‘format=json&callback=slideshareTranscripts.doit&q=' +
“选择% 20强,p % 20从% 20 html % 20 % 20 url % 3 d % 22 +
encodeURIComponent (slideurl) +
' % 20 - 22% % 20 xpath % 3 d % 2 f % 2符合27% % 2 fli % 27 & ';
var s = document.createElement(' script');
s.src = url;
s.type = ‘text/javascript';
document.getElementsByTagName(头)[0].appendChild(年代);
}

函数doit(o){
var url = decodeURIComponent(o.query.uri).split(' "');
var out = document.createElement(' ol');
var lis = o.query.results.li;
(var = 0, j = lis.length; i var li = document.createElement(' li');
var strong = document.createElement(' strong');
var p = document.createElement(' p');
strong.appendChild (document.createTextNode (lis)[我].strong));
每分钟p.appendChild(document.createTextNode(lis)[我]));
li.appendChild(强);
li.appendChild(p);
out.appendChild(李);
}

容器[url [1]] .c.appendChild(出);
}

返回{doit: doit}
}();

你可以查看正在运行的脚本下载它供你自己使用。您所需要做的就是将它添加到任何带有一个或多个SlideShare嵌入代码的文档的底部。下面是脚本的作用:

slideshareTranscripts = function(){
var div = document.getElementsByTagName(' div');

我们得到所有的DIV页面中的元素(可能有一种更快的使用方法CSS查询这些天,但我们要防弹)。

为了找出哪个div是SlideShare嵌入的,我们检查包含的ID__ss因为嵌入代码有一个以这个开头的生成的ID。

我们要做的就是找出幻灯片的url。之所以需要这样做,有两个原因:首先,我们希望检索文本;其次,我们需要一种匹配返回数据的方法钇铝石榴石有了正确的DIV容器。

由于生成的脚本节点一个接一个地加载是不安全的,因此可以确保将正确的脚本节点添加到正确的幻灯片中。

所以,我们要做的是检查DIV,得到第一个链接,检索url,存储DIV在一个名为container的对象中,并使用url作为属性名。此属性获取正确的DIV作为它的值。那么我们所需要做的就是通过它获取成绩单数据get():


var container = {};
(var = 0;div[我];我+ +){
如果(div[我].id.indexOf (__ss) ! = = 1) {
var slideurl = div[i].getElementsByTagName(' a')[0].href.split(' ?')[0];
容器(slideurl) = {div[我],id};
得到(slideurl);
}

}

get()方法是您的普通脚本节点生成函数,该函数调用YQL API并定义slideshareTranscripts.doit ()作为回调参数。这意味着脚本将生成一个脚本节点,点它钇铝石榴石,YQL然后从SlideShare获取转录信息,把它变成JSON并调用doit ()将记录信息作为参数。


函数得到(url){
var url = ‘http://query.yahooapis.com/v1/public/yql?' +
‘format=json&callback=slideshareTranscripts.doit&q=' +
“选择% 20强,p % 20从% 20 html % 20 % 20 url % 3 d % 22 +
encodeURIComponent (slideurl) +
' % 20 - 22% % 20 xpath % 3 d % 2 f % 2符合27% % 2 fli % 27 & ';
var s = document.createElement(' script');
s.src = url;
s.type = ‘text/javascript';
document.getElementsByTagName(头)[0].appendChild(年代);
}

doit()的工作是生成正确的标记并将其注入到嵌入代码中。我们创建一个有序列表并循环所有li元素。我们创建拟合HTML为每个列表项编写代码,并将内容添加为文本节点(innerHTML将尝试呈现幻灯片中使用的标记—这不是一个好主意)。

然后我们检索URL从uri属性中,将列表作为新的子节点添加到容器对象中先前存储的容器div中。

nt
函数doit(o){
var out = document.createElement(' ol');
var lis = o.query.results.li;
(var = 0, j = lis.length; i var li = document.createElement(' li');
var strong = document.createElement(' strong');
var p = document.createElement(' p');
strong.appendChild (document.createTextNode (lis)[我].strong));
每分钟p.appendChild(document.createTextNode(lis)[我]));
li.appendChild(强);
li.appendChild(p);
out.appendChild(李);
}

var url = decodeURIComponent(o.query.uri).split(' "');
容器[url [1]] .c.appendChild(出);
}

返回{doit: doit}
}();

就是这样。当然你可以通过只匹配OL和使用innerHTML一次性写出列表来简化它,但是这个解也允许你改变HTML列表的输出—例如—使每个http://example.com都成为一个链接。

抄录快乐!

网站管理员堵塞会话黑客-快速修复一个网站与YUI网格

星期六,10月4日,2008

上周末我去了亚特兰大,乔治亚州站长堵塞会议或短WJS由Coffeecup软件组织。我已经写了关于该事件的详细报告YDN博客简而言之,这太棒了。

我在活动中做的一件事就是坐在网站的一个小会议上,这是对观众提交的网站的专家评论。其中一个地点如下:

原来的网站

令我震惊的是,它是相当新的,但仍然使用表格布局。当我调查时,我听说原因仅仅是缺乏以不同方式构建web站点的资源。这是难过的时候,现在,我们有资源可以利用网络上随时可用的资源,当我开始开发的时候,我们甚至无法想象这些资源。为了证明这一点,您可以使用语义标记和CSS甚至不太了解它,我用过YUI网格,并在大约15分钟内创建了以下内容:

YUI重新设计网站

你可以下载网站演示文件自己和他们玩。

我很乐意写更多,关于这种结构和重新设计的深入文章,如betway体育官方网果有兴趣的话。我唯一的问题是在哪里出版它们?从中受益的人不太可能阅读我为之写作的博客和杂志。是否有政府的网络标准出版物?

什么是一个好的网站?

星期六,10月14日2006

免责声明:这是一个列表,它将成为即将出版的关于使用Web服务和api进行Web开发的Ed之友书籍的一部分。我想在这里预览一下会很有趣,看看你怎么想。

[链接:http://cabanadigital.com/weblog/2006/10/14/%c2%bfque-hace-a-un-buen-sitio-web/ - 173,西班牙语版)

以下是关于如何在当今的web环境中创建一个成功的web站点的一些想法。有些听起来很明显,但是提醒自己这些想法的好处是一个好主意。

它是关于内容的。

如果你没有任何有趣的内容(或数百个其他网站上也有的内容),无论你对网站表面做了多少修饰,你都不会接触到很多人。

它是关于分享的。

如果你把内容放到网上,它让人们看到,下载并使用。您可以通过选择并显示许可协议和版权信息来保护您的权利(在知识共享)而且,试图用技术手段阻止人们下载你的图片或复制你的文本是毫无意义的。当你开发网站的时候,您将使用其他人开发的大量内容和程序。回报是公平的。

如果没有人们免费分享他们的工具和内容,网络将永远不会像现在这样庞大和令人兴奋。

它是关于访问的。

如果web上的每个人都可以使用您的内容,而不考虑您的能力和技术环境,那么您比试图屏蔽用户组或期望定义的技术环境时更容易被发现和讨论。你的电脑并不是网络上所有人的代表,你不能指望人们得到一个更大的显示器,更快的电脑或安装某些浏览器或插件只是为了访问你的网站。如果你的内容足够有趣,他们可能,但我不会指望它。

它是关于交流的。

允许别人和你交流。让他们评论你的信息,并为他们提供与你联系的简单方式。以易于联合的格式提供您的信息(例如RSS),并联络其他有类似资料的网站。这听起来可能适得其反——毕竟,为什么你要给他们发送你想要保留的访问者——但是这些其他网站也可能会链接到你。链接到你的网站越多,在搜索引擎结果中,你会爬得越高。

它是关于可用性的。

这听起来可能有点矛盾,但是在web和不同的站点上传播您的内容可能比将其保存在一台服务器上更有效。当然,你需要使用正确的网站。我们生活在一个令人兴奋的网络时代,你可以上传你的照片flickr和其他图片爱好者联系,上传视频youtube,共享链接del . icio . us和文件

所有这些网站都有大公司的良好服务器支持即使你的网站宕机一天,他们还会在那里。将您的站点作为这些数据的来源在其他站点上做广告会促使人们返回到它,并且您可以使用它们提供的api轻松地将数据包含到您的站点中。

这关乎耐心。

就像任何真正好的东西一样,你需要花一些时间在一个伟大的网站上。

在最初的几周(有时甚至是几个月),你不会让搜索引擎的结果飙升。不要因此而气馁,相反,试着增加与你感兴趣领域的其他人的交流——他们会链接你,你就会出现在这个世界的谷歌和雅虎上。

拥有一个网站还意味着你会得到很多恼人或粗鲁的反馈。别老是想着那个,但是,找出可能与实际问题相关的信息,然后解决这些问题。然而,这是你的地盘,总有一些人不喜欢你说的话或提供的东西——没必要取悦所有人。

而是要了解你的听众。

你对一个网站在你的专业领域应该是什么样子的假设可能是完全错误的。问问那些对他们的期望感兴趣的人,或者问问他们对其他提供类似内容的网站有什么不满。

这是关于发挥你的优势。

如果你不善言辞,不要太努力,但要坚持你的网站所涵盖的主题的信息和让你兴奋的东西。你也可以从身边的人那里得到帮助,他们可以把你的想法用语言表达出来。如果你擅长文字,但不擅长设计或结构信息,同样适用。不要试图自己解决所有问题,而是获得一些同行的评论和意见,让最终产品为自己说话。

这是提供而不是推动。

不要强迫访客做任何事。除非访问者选择启动视频和音乐,否则不应该启动它们。此外,提供下载。如果你连结到pdf或其他媒体格式,在链接中这样说,因为很多人会选择下载这些,而不是在浏览器中阅读它们。

而是要保持简单。

不要试图将网站上的任何内容复杂化。明确菜单是什么,哪些是可用的。让搜索和联系你变得更容易。明确谁是网站背后的人和网站的目的是什么。对自己诚实,人们会因此喜欢你的。已经有太多的单人秀网站试图作为一个整体出现在网络上。

一遍又一遍地阅读你的内容——任何可以省略的单词或更容易表达的句子都是成功的。网上的人都很忙,而且不是所有的人都是你的母语。不要为难他们。

此外,网络是第二媒体。人们在阅读你的网站时做其他事情,而不是把所有的内容都放进去——而是扫描有趣的单词。Steve Krug在文中对此进行了解释我们如何使用网络

这是一个没有恼人的广告。

确保你选了一个容易记住的URL并做广告。有了这个,我们并不意味着要买广告空间,但是做一些简单的事情,比如添加URL到你的邮件页脚,文具或其他宣传材料。如果你参加论坛和邮件列表,页脚比你想象的要广泛。

(更新)

它关乎新鲜感。

一个不做任何改变的网站需要有令人惊叹的内容,否则从长远来看它将不会有任何访问者。重要的是你要有最初的访客,但同样重要的是让他们回来,谈论你的提议,吸引新的访客。经常更新,有好的内容,人们会回来。如果你使用博客系统CMS更新也意味着RSS提要更改和订阅者将得到自动通知。

未来是混合的——JavaScript如何净化纯CSS解决方案

周一,9月4日,2006

在过去的几个月里,在邮件列表和文章中有越来越多的关于如何使用pure实现功能的请求CSS这是传统上用JavaScript实现的。这篇文章将解释为什么这是一个有趣的概念,但希望您能意识到JavaScript增强解决方案相对于纯解决方案的好处CSS解决。

我要感谢我在研究中问过的很多人,最重要的是詹姆斯•爱德华兹,作者安德鲁·杜邦。我也给了a简短的陈述,PDF-96 kb在同一个主题上Barcamp在伦敦上个周末。

首先让我们来看看有多纯CSS解决方案变得如此流行。(更多…)

赢得免费电子书和我的书的副本!

周一,8月7日,2006

我刚刚发表了一个关于开始使用javascript的网站DOMAjax脚本和以免费电子书代金券的价格,书的副本或Web可访问性:Web标准和法规遵从性。你所需要展示的要么是一点创造力,要么是不害怕当众尴尬。

关于竞争