教程:为你的WordPress博客建立IE 8 Web Slices

翻译自原文:Tutorial: How to Write an IE8 Web Slice for WordPress Blogs

Web Slices或许是IE8最酷的功能之一了。一些朋友可能会发觉实际上这和Firefox的Live Bookmarks比较相似,不过,IE8 Web Slices可以做的更多而不仅仅只是订阅RSS源。

容我解释一下。打个比方,你对eBay上的某个物品感兴趣并且想尽快得到这个物品的更新通知,比如谁谁谁出了个新价或者卖家修改了产品的描述又或者是运费。要做点这点,可以在你的浏览器里不断刷新这件物品的页面,而更简单的方法则是增加eBay slice功能。

然后现在无论这次拍卖发生了任何的变化,它会即时地反应在你IE8浏览器的收藏夹工具条上。点击这个书签(或者web slice)来获取哪些地方发生了变化。

其实IE8的web slice就是一个内嵌在你浏览器内的迷你页面,也不管你现在是在上哪个网站。而且不像Firefox的Live Bookmarks那样只是一个下拉式菜单显示网站的头条消息。在IE8的中的wen slices你拥有的是对样式的完全控制权使它能多种多样丰富起来。

如何建立IE 8 Web Slice

网站主有这个责任为他/她的网站开发web slices功能。你首先需要决定哪些内容会被呈现在web slice上,更新的频率是多少以及这个web slice的样式如何。

这里(MSDN 库)提供了一些文档来教你如何上手开发web slices,包括了一个样式指南来确保你的web slice在浏览器内看起来不错并且有较强的可读性。

你可能会发觉这个文档本质上太技术化了点,但是千万不要灰心,下面是一些非常简单的例子告诉你如何去为任何使用WordPress的博客(自己独立架设的)定制一个web slice。

1: <html><head>
2: <title>Page Title</title>
3: </head><body>
4: <div class="hslice" id="techologynews">
5:  <h2 class="entry-title">IE 8 web slice</h2>
6:   <div class="entry-content">
7:    <p><a href='#'>Link 1</a></p>
8:    <p><a href='#'>Link 2</a></p>
9:    <p><a href='#'>Link 3</a></p>
10: </div></div>
11: </body></html>

一个IE8 Web slice只是一个简单的HTML页面,结构如上。你只需指定web slice的标题(这是显示在浏览器收藏夹工具条上的),然后在“ entery-content ” 类(第7-9行)中替换成你自己的内容即可。

你也可以自己定义CSS样式,比如这个实例 – 在IE8内打开这个链接来看浏览器是如何自动侦测到页面上的这个web slice(绿色的slice图标会闪)。

如果你还没装IE8或者在你电脑上获取web slice有任何困难,这里有一个高清视频demo(译者注:原文没有这个视频的任何链接,可能作者失误了)。

Web Slices in Internet Explorer 8 – Demo

如果你有一个WordPress(自己独立架设的)博客,下面教你如何创建一个IE8用户可以加到他们菜单栏上的web slice。

在你的WordPress安装目录下创建一个新的文件(比如 webslice.php),然后复制粘贴如何代码到这个php文件下。

<html><head>
 <title>Page Title</title>
</head><body>
<div class="hslice" id="1">
 <h2 class="entry-title">Your Site Name</h2>
 <div class="entry-content"><ol>
<?php
  require_once('wp-load.php');
  $results = $wpdb->get_results("SELECT post_title, guid
          FROM $wpdb->posts where post_status = 'publish'
     ORDER BY ID DESC LIMIT 5");
  foreach($results as $row) {
   echo "<li><a href='".$row->guid . "'>"
     . $row->post_title ."</a></li> n";
  }
?>
</ol></div></div>
</body></html>

代码非常简单。实质是创建一个到你WordPress数据库的连接并且创建了一个将会显示到wen slice上的最近发布博客文章的列表,如果有人在IE8内订阅你的站点的话。

如何在IE8里安装 Web Slices

至此你的web slice功能已经就绪,现在可以把这个slice发布到你的网站上让使用IE8的访问者可以把这个slice加入到他们的收藏夹工具条上。

接下去,我们会创建一个简单的HTML按钮使得点击它会自动把这个web slice加入到IE8中。

<input type="button" value="Add [site name] Web Slice"
     onclick='window.external.AddToFavoritesBar("http://web-slice-url",
	"Your Website Name", "slice");' />

如上的Web Slices教程是特别为WordPress博客写的。如果你是在其他平台上建立自己的博客的,参考这篇文章:turn the RSS feed into a Web Slice

Deepzoom教程

Deepzoom是silverlight2.0的新特性之一,通过它,用户可以无限放大图片以浏览清晰的图片。以下就通过一个简单的实例来实现一个deepzoom应用。

首先启动Deep Zoom Composer (这个东西最近刚更新,给出的下载地址是最新版本的,界面可能会和下面的图有点不同但功能都是一样的):

1

新建一个project,然后输入project名字

projectname

接下来就可以看到如下的界面

userface

然后选择Add image,把图片文件导入到project中。

3

然后选择上方的Compose,把图片按照你想的方式排列好。这个时候在下方可以看到这样一条工具栏:

5

从第5个图标开始就是内建的一些排列方式,有向左或右对齐、水平或垂直对齐等等。比如这次我就做了类似于九宫格的排列方式:

6

然后就可以导出了:

7

导出后即得到如下SDI文件:

outputdata

至此,deep zoom应用的图片源文件就制作完成了,下面就是设计和coding部分了。

启动visual studio 2008,新建silverlight工程。然后复制如上的SDI文件粘贴到Clientbin文件夹下:

clientbin

之后在page.xml使用<MultiScaleImage>应用文件中的info.bin文件

<MultiScaleImage Source=”ws2008/info.bin” Height=”440″ x:Name=”ws2008rtm” Width=”600″ Canvas.Left=”20″ Canvas.Top=”20″  Grid.Row=”0″ Grid.RowSpan=”6″  Grid.Column=”0″ Grid.ColumnSpan=”3″/>

之后可以编辑page.xml.cs,加入一些鼠标事件,比如拖动阿、使用滚轮放大缩小等等。

部分源代码如下,本来想上传到skydrive上的,但是最近国内电信访问不了,需要完整的可以发e-mail给我,[email protected]

code1    

这里用到了MouseWheelHelper类,以下为部分MouseWheelHelper类的源代码,需要的依然可以给我mail。

mousecode

按f5进行调试并预览:

result

至此,一个简单的deep zoom应用做完了,需要完整solution的可以发e-mail给我: [email protected]

Continue reading “Deepzoom教程”