zoukankan
html css js c++ java
MSN 历史纪录分页显示(XML + XSL + Javascript)
MSN自带的XSL无分业功能,写一个简单的分页XSL:
将此文件替换MSN原有的XSL文件:MessageLog.xsl 即可
<?
xml version="1.0"
?>
<
xsl:stylesheet
xmlns:xsl
="http://www.w3.org/1999/XSL/Transform"
version
="1.0"
>
<
xsl:variable
name
="PageCount"
>
10
</
xsl:variable
>
<
xsl:template
match
="/"
>
<
html
>
<
head
>
<
title
>
Msn Chat History
</
title
>
<
style
type
="text/css"
>
body,td
{
font-size:14px;
}
.FirstCSS
{
color:#003366;
background-color:#FFFFFF;
}
.PagesCss
{
color:#003366;
font-size:13px;
}
</
style
>
<
script
langauge
="javascript"
>
<
xsl:comment
>
<![CDATA[
var CurrentPage = 1;
var PageCount = 10;
function InitMessage()
{
LblMessage.innerHTML = "[Totle: "+ GetTotlePage() +" ,Current:"+ CurrentPage +"]";
}
function GetTotlePage()
{
var XMLObj = document.XMLDocument;
var totlePage = XMLObj.documentElement.selectNodes("//Message");
if( parseInt(totlePage.length/10)*10 == totlePage.length )
totlePage = parseInt(totlePage.length/PageCount);
else
totlePage = parseInt(totlePage.length/PageCount) + 1;
return totlePage;
}
function PageChange( expr )
{
switch( expr )
{
case "F":
CurrentPage = 1;
break;
case "P":
if(CurrentPage>1)
CurrentPage -= 1;
break;
case "N":
if(CurrentPage<GetTotlePage())
CurrentPage += 1;
break;
case "L":
CurrentPage = GetTotlePage();
break;
}
var XSLObj = document.XSLDocument;
var XMLObj = document.XMLDocument;
var expr = "Message[position() < "+ CurrentPage*PageCount +" and position() > "+ (CurrentPage-1)*PageCount +"]";
document.XSLDocument.selectSingleNode("//xsl:for-each/@select").value = expr;
ConXML.innerHTML = XMLObj.documentElement.transformNode(XSLObj);
LblMessage.innerHTML = "[Totle: "+ GetTotlePage() +" ,Current:"+ CurrentPage +"]";
}
]]>
</
xsl:comment
>
</
script
>
</
head
>
<
body
class
="document_body"
onload
="InitMessage()"
>
<
h1
>
<
xsl:value-of
select
="Log/Message/From/User/@FriendlyName"
/>
Chat With
<
xsl:value-of
select
="Log/Message/To/User/@FriendlyName"
/>
</
h1
>
<
div
id
="ConXML"
>
<
xsl:apply-templates
select
="Log"
></
xsl:apply-templates
>
</
div
>
</
body
>
</
html
>
</
xsl:template
>
<
xsl:template
match
="Log"
>
<
table
width
="100%"
cellspacing
="1"
cellpadding
="1"
border
="0"
bgcolor
="#6699AA"
>
<
tr
bgcolor
="#DDDDDD"
>
<
td
>
SessionID
</
td
>
<
td
>
From
</
td
>
<
td
>
To
</
td
>
<
td
>
Time
</
td
>
<
td
>
Text
</
td
>
</
tr
>
<
xsl:for-each
select
="Message[position() < $PageCount]"
>
<
xsl:sort
order
="ascending"
select
="@SessionID"
data-type
="number"
></
xsl:sort
>
<
tr
class
="FirstCSS"
>
<
td
>
<
xsl:value-of
select
="@SessionID"
/>
</
td
>
<
td
>
<
xsl:value-of
select
="From/User/@FriendlyName"
/>
</
td
>
<
td
>
<
xsl:value-of
select
="To/User/@FriendlyName"
/>
</
td
>
<
td
>
<
xsl:value-of
select
="@Time"
/>
</
td
>
<
td
>
<
xsl:value-of
select
="string(Text)"
/>
</
td
>
</
tr
>
</
xsl:for-each
>
<
tr
bgcolor
="#DDDDDD"
>
<
td
colspan
="5"
align
="right"
>
<
span
class
="PagesCss"
>
<
span
id
="LblMessage"
></
span
>
[
<
span
onclick
="PageChange('F')"
style
="cursor:hand"
>
First
</
span
>
]
[
<
span
onclick
="PageChange('P')"
style
="cursor:hand"
>
Previous
</
span
>
]
[
<
span
onclick
="PageChange('N')"
style
="cursor:hand"
>
Next
</
span
>
]
[
<
span
onclick
="PageChange('L')"
style
="cursor:hand"
>
Last
</
span
>
]
</
span
>
</
td
>
</
tr
>
</
table
>
</
xsl:template
>
</
xsl:stylesheet
>
青苹果Web应用商店
https://webapp.taobao.com/
PHP/ASP.NET/ASP/UCHOME/DISCUZ! X系列网站开发,详细需求联系
QQ:8511978
查看全文
相关阅读:
sublime 部分插件
Error: EACCES: permission denied, mkdir '......node-sass/build'错误解决方案
字符串
数组
MySQL5.7.26 忘记Root密码小计
CentOS7安装MySQL8.0小计
代替print输出的PY调试库:PySnooper
聊聊数据库~5.SQL运维上篇
'gbk' codec can't encode character 'xa0' in position 34: illegal multibyte sequence
稍微记录下Django2.2使用MariaDB和MySQL遇到的坑
原文地址:https://www.cnblogs.com/Dicky/p/475351.html
最新文章
133、Java获取main主函数参数
132、Java面向对象之static关键字四(定义一个数学的加法操作)
131、Java面向对象之static关键字三(使用static定义方法)
130、Java面向对象之static关键字二(在没有实例化对象产生时直接操作static属性)
深入理解JSONP原理——前端面试
javascript性能优化-repaint和reflow
TCP协议的三次握手和四次挥手
B树、B-树、B+树、B*树
简单了解ICMP协议
http缓存相关头
热门文章
ajax实现下拉菜单无刷新加载更多
Cookie/Session机制详解
浏览器兼容性问题
BOM浏览器对象模型
CSS scroll-behavior和JS scrollIntoView让页面滚动平滑
移动端input“输入框”常见问题及解决方法
ios和android 浏览器适配问题总结
sublime 快捷键
sublime 插件
vue的一些随记
Copyright © 2011-2022 走看看