必威体育下载克里斯蒂安·海尔曼

您当前正在浏览必威体育下载克里斯蒂安·海尔曼十月份的博必威体育简介客档案,2007.

10月存档,2007

用slideshare展示你的幻灯片,PHP和一些javascript

周三,10月31日2007

首先,我是一个的粉丝幻灯片,一个允许你上传演示文稿的网络应用,开放办公室或PDF在网上分享。SlideShare转换演示文稿(遗憾的是,当涉及字体和紧排时,还不到100%:-(),人们可以对其进行评论,所有幻灯片都有一个文本版本,您可以将幻灯片嵌入博客或其他站点。

当我检查幻灯片时,我看了一下API但是我总是有点厌倦了必须通过一个开发者ID,然后在服务器上做所有的事情。这就是为什么我戴上我的“道德黑客”帽子,看了看RSS我的幻灯片的饲料,并找到我需要的一切!如果你看提要的源您将看到它不仅包含标题和描述,还包含媒体代码,在这种情况下,HTML嵌入正确的Flash电影。

利用这些信息,很容易构建一个查看器,使人们可以在不离开站点的情况下单击您的所有演示文稿。这看起来像这样:

接口来单击不同的幻灯片显示

当JavaScript可用时,这将是外观和功能。当JS关闭时,您将得到一个指向slideshare.net上演示文稿的无样式链接列表。

你可以查看幻灯片显示在行动中下载一个压缩文件并在您的网站上使用如果你不想知道是怎么做的。如果你这样做,继续阅读…

所需的代码非常简单,大约70行就可以完成。让我们一点一点地来看看。我用PHP4加上卷发,DOMXML和一些JavaScript使用悠悠.


            
$ url = “http://www.slideshare.net/rss/user/cheilmann”;$ CH = 姜黄素();
库尔斯基塞特($ CH,CURLOPT_URL, $ url);
库尔斯基塞特($ CH,卷边返回传输, 1);
美元幻灯片 = 姜黄($ CH);
curl_close($ CH);

它从统一资源定位地址我们要加载和卷曲调用以提取此文件并将其存储在变量$slides中。


$slides=str_replace('slideshare:embed'、'slideshare embed'、$slides);
幻灯片美元= str_replace(“媒体:标题”、“mediatitle”,美元幻灯片);
$xml=domxml_xmltree($slides);

使事情更容易)DOMXML一套非常粗糙的工具——用起来更容易吗PHP5我将提要中包含嵌入代码和媒体标题的带名称空间的属性重命名为simple元素,并从中创建一个对象集合XML使用domxml_xmltree。


$json=array();
$slideShareList='';
$links=$xml->get_elements_by_tagname(“link”);
$ img = $ xml - > get_elements_by_tagname(url);
$标题= $ xml - > get_elements_by_tagname (“mediatitle”);
$嵌入= $ xml - > get_elements_by_tagname (“slideshareembed”);

然后我需要预先设置一个数组来包含每个幻灯片的嵌入代码,以及一个字符串来包含指向slideshare上的演示文稿的链接列表。的get_elements_by_tagname方法DOMXMLRSS饲料。


foreach ($embed as $key=>$el) {
l =美元的链接(键+ 2美元)- >孩子[0]- >内容;
t =标题美元($ key)- >孩子[0]- >内容;
$slideShareList.='
  • ”。$ t。’
  • ”;
    emb =美元el - >孩子[0]- >内容;
    如果(大小写敏感(emb美元”, 儿童[1]->内容;
    preg_match_all (“/ *。 .*).*/msi',$emb,$obj);
    $json[]=“”..$obj[1][0]“”;
    }

    ?>

    通过遍历“嵌入”数组,我组装了指向不同表示形式的链接列表,并将嵌入代码添加到JSON数组。当访问者单击演示链接时,我稍后需要这个来显示不同的Flash电影。注意我要跳过前两个链接指向主元素的元素统一资源定位地址RSS饲料。出于某种原因,我的本地主机和Live服务器上的嵌入顺序不同,这就是为什么我添加了额外的if语句。烦人的,那。

    这就是PHP我们需要!现在是时候让它更漂亮,并添加其余的HTML.





    因为它很粗糙,可以混合使用PHPJavaScript把所有CSS有趣的是在自己的文档中只添加logoRSS作为幻灯片容器的背景。标记是主要的div的无序列表HTML在早期组装PHP脚本。这显示了链接,但还没有动态显示。为此,我们需要JavaScript。




    这就是全部,除了把数据从RSS输入“幻灯片”数组并关闭模块模式。

    与正确的样式表一起,这就足以在slideshare上拥有一个可单击的最新演示文稿列表。享受。

    将博客升级为新的WordPress

    星期二,10月30日,2007

    由于我有很多垃圾邮件问题和其他攻击,我把博客升级到了一个新的WordPress。这就是为什么这看起来很糟糕,还没有完成,但我想你们大多数人在阅读RSS无论如何都要订阅(我认为这是阅读博客的正确方式)。

    我现在没有时间把这个弄漂亮,但是所有的内容都在这里。什么东西坏了,请叫我一声。

    博客的社交部分被打破了

    星期日,10月28日,2007

    刚刚又花了一个小时删除了trackback垃圾邮件的广告,一个不存在的药物,我是彻底的生病和厌倦了追赶网络的坏人,并关闭了这个博客的trackback。我可以从日志中得到相同的信息,虽然我不得不去那里是很遗憾的。

    博客的最初想法很棒:你发布信息,通过评论获得即时反馈,当其他博主谈论你的东西或基于它的内容时,trackback也会通知你。

    然而,这似乎已经结束了。如果你的博客在谷歌的pagerank中排名靠前(上个月你还没有因为尝试用它赚钱而被降级),你会得到以下信息:

    • 不存在的网站的引用通告(无论出于何种原因)
    • 网站的trackback建造搜索引擎优化(如http://lear必威体育下载nelf.info/–检查页脚–搜索引擎优化WordPress主题广告Flex博客(使用v0.8.9.6a - v0.8.9.8h提供)维生素K由数字证明赞助的解决方案——赞助???)
    • 从其他博客(Ajaxian和Smashing杂志都是在网络上克隆的,当它们有新的帖子时)
    • 来自笨拙垃圾邮件发送者的评论
    • 按顺序写的评论最近马可大喊大叫-在线和IRL(收集某网站的广告

    这就是这个世界上邪恶的垃圾邮件发送者。然而,在线路上有更多的噪音:

    • 来自那些认为自己最新del.icio.us书签列表的人的引用通告
    • 有些人并不是真的想发表评论,而是通过暗示自己有解决方案来为自己的博客做广告
    • 来自那些没有阅读上下文的人的评论,而只是通过浏览帖子获得的信息(这可能是因为他们阅读了RSS如果你不知道一篇文章只是指向一篇更大的文章或产品,你会发现很多在Ajaxian这样的地方)
    • 来自某些技术的粉丝和女孩的评论,默认情况下会认为其他一切都是错的,而谈论这些技术的人则是白痴
    • 那些试图激怒你或把你当成“专家”的人的评论

    这也不是什么新鲜事这是三年前写的betway体育官方网)但它已经变得如此之多,你不得不花更多的时间吞咽非常简短和粗鲁的言论,而不是写你的博客。

    如前所述,我正在关闭引用通告,因为我没有显示URL,所以它们在这里毫无意义。我将发布我认为足够好的链接回的URL。目前,我仍然允许发表评论,因为我偶尔会得到好的评论(在一片巨大的垃圾海中),但我在玩弄摆脱这些评论的想法,也是。这真的很悲哀,因为我开始写博客是因为可以从任何人都可以阅读的人那里得到即时的反馈。

    我并不是在订阅那些声称评论已经死亡的人,如果你想自己评论博客或者twitter,我们使用technorati作为反馈整合者。我不希望每个人都在博客或推特上发微博,认为这样做确实很危险,因为对我来说这确实有近亲繁殖的味道。人们可以通过搜索引擎找到我们的博客文章,不必成为“博客场景”的一部分就可以发表评论。

    这就是说,我们需要一个补救办法来解决博客的社会问题,一个容易访问和足够安全,以阻止垃圾邮件发送者。这确实很难,因为任何可以找到的东西都是可以找到的。

    逐步提高自动完成

    星期五,10月26日,2007

    我喜欢自动完成作为一种设计模式。它允许你比使用普通的搜索框更快地找到东西,并且省去了你浏览搜索结果页面的时间。自动完成意味着逐步增强一个普通的搜索框,以提供一种更快、更通灵的方式来查找信息。好的自动完成控件以一种完全不引人注目的方式完成,并且只在用户需要时加载额外的信息。

    然而,还有一个用例我还没有看到适当的覆盖:如果我想提供一个定义的,少量的选项和完整的搜索,但不依赖JavaScript?解决方案是使用链接列表和搜索框:

          







    当JavaScript不可用时,将其用作回退,并在需要时使用此信息作为自动完成控件的种子,这不是很酷吗?好吧,你可以。

    很自然地,在工作中我经常碰到悠悠自动完成控件这个选项可以使用JavaScript数组甚至JavaScript函数作为选项的数据源。我们可以很容易地使用它从选项列表中获取信息:


    函数doAutoComplete(){
    var optionsLinks = opt . getelementsbytagname (' a');
    VaR DS=[];
    (var = 0;optionsLinks[我];我+ +){
    ds.push(optionsLinks[我].firstChild.nodeValue);
    };
    var acDataset = new雅虎.widget.DS_JSArray (ds);
    acdataset.maxCacheEntries=0;
    VaC=新雅虎.widget.AutoComplete(“s”、“autocompcontainer”,AcDATET);
    };

    关于事情悠悠自动完成总是让我恼火的是,为了让整个过程正常工作,你必须包含大量的依赖项。这当然是通过设计,因为它建立在悠悠,但这对我来说有点烦人。然而,有一种非常酷的方法悠悠控件加载悠悠必要的组件:可以使用名为雅虎_config并定义一个侦听器方法。每次包含悠悠并将其名称作为参数获取。将它与动态创建的脚本节点结合起来,您可以一个接一个地调用依赖项:

    函数雅虎_config_ac_run(o){
    如果(o==未定义){
    addjs(“yahoo-dom-event/yahoo-dom-event.js”);
    其他}{
    开关(o.name) {
    例“yahoo-dom-event”:
    addJS(“动画/ animation-min.js”);
    打破;
    例“动画”:
    addjs(“autocomplete/autocomplete-min.js”);
    打破;
    “自动完成”案例:
    var l=document.createElement('link');
    l.type='text/css';
    l.rel='样式表';
    l.href='http://yui.yahooapis.com/2.3.0/build/autocomplete/assets/skins/sam/autocomplete.css';
    document.getElementsByTagName(头)[0].appendChild (l);
    雅虎.util.Dom.addClass (document.body yui-skin-sam);
    doAutoComplete();
    打破;
    };
    };
    函数addJS (url) {
    var head = document.getElementsByTagName(' head')[0];
    var s = document.createElement(“脚本”);
    s.src='http://yui.yahooapis.com/2.3.0/build/'+url;
    s.type = ' text / javascript ';
    头。附属物;
    };
    };
    雅虎{CONFIG= {
    侦听器:yahoo-config-ac-run
    };
    雅虎_config_ac_run();

    把它们放在一起带有列表作为回退的自动完成控件.尝试打开和关闭javascript以查看区别。

    以JSON的方式破解Flickr

    星期一,10月22日,2007

    这是我在印度开放黑客日演讲的一部分,我刚刚有时间写下来。

    在这里,您将学习如何将F必威体育下载lickr照片放入JavaScript解决方案,而不必使用完整的API.因为这是一个黑客,你只能得到最新的20张照片,如果您需要更详细的数据,如限制在集合中或一次多个集合中,则需要使用FlickrAPI.

    我在前面提到过这里展示的一些Flickr标记以及我的关于如何在JavaScript中使用Flickr的24种方法的文章,但是最好能够快速地一步一步地学习如何在JavaScript中使用Flickr,而不需要借助成熟的工具必威体育下载API调用。

    步骤1:找到要在flickr.com上使用的照片

    只是在网站上冲浪,找到一个网站,有一个RSS饲料。例如,我的Flickr流在http://flickr.com/photos/codepo8或者所有的开放黑客日印度的照片http://flickr.com/photos/tags/hackdayindia/.

    注意,只有标签有效,不要搜索!

    步骤2:单击RSS链接或RSS图标(在Firefox中)并更改结尾统一资源定位地址调用

    这会让你统一资源定位地址RSS饲料,例如

    http://api.flickr.com/services/feeds/photos_public.gne?tags=hackdayindia&lang=en-us&format=atom
    要在JavaScript中直接使用这些信息,只需将末尾的“atom”重命名为“json”。

    这样做,你会得到一堆JavaScript而不是atom提要:

    http://api.flickr.com/services/feeds/photos_public.gne?tags=hackdayindia&lang=en-us&format=json


    jsonFlickrFeed({
    “title”:“来自所有标记为hackdayindia的人的照片”,
    “link”:“http://www.flickr.com/photos/tags/hackdayindia/”,
    “描述”:“”,
    “modified”:“2007-10-12t14:08:47z”,
    “generator”:“http://www.flickr.com/”,
    “物品”:(
    {

    “title”:“印度报纸开放黑客日报道”,
    “链接”:“http://www.flickr.com/photos/codepo8/1552753330/”,
    “媒体”:{"},
    “拍摄日期”:“2007-10-12t15:08:47-08:00”,
    “描述”:“

    codepo8张贴照片:

    印度报纸开放黑客日报道

    班加罗尔报纸中午发表了这篇关于开放黑客日的文章,很明显我是一个道德黑客,被布拉德和大卫包围着:)


    “发表”:“2007 - 10 - 12 t14:08:47z”,
    “作者”:“nobody@flickr.com(codepo8)”,
    “author_id”:“11414938 @n00”,
    “标签”:“印度班加罗尔报纸正午成名”必威体育下载
    },
    {

    “标题”:“分解”,
    “链接”:“http://www.flickr.com/photos/code_martial/1536271756/”,
    “媒体”:{"},
    “拍摄日期”:“2007-10-06t23:18:58-08:00”,
    “描述”:“

    军法张贴照片:

    打破它

    乔·阿诺德跳霹雳舞。


    “发表”:“2007 - 10 - 10 t20:43:01z”,
    “作者”:“nobody@flickr.com (code_martial)”,
    “author_id”:“61697474 @n00”,
    “标签”:“雅虎舞蹈班加罗尔泰姬陵黑客攻击50mmf18af hax0rz tajhostjoearnold hackdayindia”
    },

    / /……等等…
    ]

    })

    步骤3:编写显示函数

    正如你所看到的,FlickrAPI将数据集包含在执行JSonflickrFeed的函数调用中,它允许您定义具有该名称的函数:




    数据JSON物体有点歪斜,特别是描述中的编码输出在JavaScript中几乎是无用的。但是,使用每个项目的media.m属性很容易获得图像数据并显示所有图像:




    不过,我相信你知道,使用document.write是导致脱发和其他问题的主要原因,所以用一些漂亮的DOM脚本。这只是为了这个例子。

    第4步:选择不同文件结尾的照片大小。

    唯一剩下的麻烦就是照片的尺寸。再一次,破解Flickr的网址有助于实现这一目标。默认情况下,flickr将选择M是照片的中号。简单地重命名您需要的尺寸:

    • _ B是大尺寸的(1024)
    • _ T是缩略图
    • _是75×75像素的正方形
    • _m是中等大小
    • 去除γ?2 .加长就是要小一号的。

    你也可以通过点击图片细节页面来获得尺寸,例如http://www.flickr.com/photo_zoom.gne?ID=1536271606,尺寸=S并检查图像属性。

    快乐黑客!