大富翁帖子保存(浪费了两个晚上)(0分)

  • 主题发起人 Micro Whaight
  • 开始时间
M

Micro Whaight

Unregistered / Unconfirmed
GUEST, unregistred user!
1.保存下面两个文件到X:/XXX目录;
2.改一改(主要是loadxmln.js中的sPathName);
3.上网,看"大富翁",保存网页到X:/XXX;就用WEB页格式(*.htm;*.html);
4.再次打开本地的网页,回车.
使用环境:
Win98SE中文版(自带的IE5) + MSXML3.0
IE安全设置为中
----------------------------
刀,可以救人,也可以杀人.
----------------------------
-----------文件1: dispq_1.xsl --------------
<?xml version="1.0" encoding="gb2312" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<!-- 新增开始 -->
<html>
<STYLE TYPE="text/css">
table { font-size: 9pt;
font-family: 宋体;
line-height: 12pt;
}
</STYLE>
<body>
<applet height="0" width="0" code="com.ms.activeX.ActiveXComponent"></applet>
<!-- 新增结束 -->
<table width="100%" cellPadding="0" cellspacing="1" bgcolor="#88A5DB">
<tr><td>
<!-- 版面修改:
1.去除提问者和回答人的信息链接;
2.去除页末的"添加注释";
3.修改问题部分的颜色;
-->
<xsl:for-each select="DFWML/Q">
<table width="100%" cellspacing="0" cellpadding="4" bgcolor="#00FFFF"><tr>
<td colspan="2">
<b>问题:</b><xsl:value-of select="subject" /> <br/>
<b>分类:</b><xsl:value-of select="room" /> ( 版主:<xsl:value-of select="master" />, <xsl:value-of select="master2" /> )
</td></tr>
<tr><td>
<b>来自:</b><font color="Blue"><xsl:attribute name="href"><xsl:value-of select="from"/></xsl:attribute><xsl:value-of select="from" /></font>,
<b>时间:</b><xsl:value-of select="regdatetime" />,
<b>ID:</b><xsl:value-of select="@ID" />
</td>
</tr>
<tr><td bgcolor="#ffffff" colspan="2">
<pre><xsl:value-of select="content" disable-output-escaping="yes" /></pre>
</td></tr>

</table>
</xsl:for-each>
</td></tr>
<xsl:for-each select="DFWML/REPLY/Q">
<tr><td>
<table width="100%" cellspacing="0" cellpadding="4" bgcolor="#E1E9FF"><tr>
<td>
<b>来自:</b><font color="blue"><xsl:attribute name="href"><xsl:value-of select="from"/></xsl:attribute><xsl:value-of select="from" /></font>,
<b>时间:</b><xsl:value-of select="datetime" />,
<b>ID:</b><xsl:value-of select="@ID" />
<xsl:if test="from[.!=/DFWML/USER/@Name]">
</xsl:if>

</td></tr><tr><td bgcolor="#ffffff">
<pre><xsl:value-of select="content" disable-output-escaping="yes" /></pre>
</td></tr></table>
</td></tr>
</xsl:for-each>
<tr><td bgcolor="#CED9FF">
<xsl:for-each select="DFWML/Q">
<xsl:if test="@status[.=2]"> <b>得分大富翁:</b><xsl:value-of select="expert" /></xsl:if>
<xsl:if test="@status[.!=2]"><b>问题讨论没有结束 ...</b></xsl:if>
</xsl:for-each>
</td></tr></table>
<!-- 新增开始 -->
</body>
</html>
<!-- 新增结束 -->
</xsl:template>
</xsl:stylesheet>

-----------文件2: loadxmln.js --------------
var sPathName = "F://DelphiBBS//";
//保存位置
function SaveAsHTML(sFileName, html) {
//新增,用于保存HTML
//APPLET的定义,在XSL中
var apl = do
cument.applets[0];
apl.setCLSID("{0D43FE01-F093-11CF-8940-00A0C9054228}");
apl.createInstance();
var obj = apl.GetObject();
var sSaveName = sPathName + sFileName;
var f = obj.CreateTextFile(sSaveName, true);
f.WriteLine(html);
f.Close();
};
function load_xml(obj, xmlobj, xslobj) {
//全部删除,因为我的分数太少了 :)
};
function load_xmln(obj, xmlobj, xslfn) {
//部分改写
hiddenxml = mainxml.innerHTML;
var myxml = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
myxml.async = false;
myxml.loadXML(hiddenxml);
var myxsl = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
myxsl.async = false;
//这个XSL做过修改
myxsl.load("dispq_1.xsl");
var html = myxml.transformNode(myxsl);
var title = myxml.selectSingleNode("/DFWML/@title");

//判断一下标题是否可用并转化为合法字符_
if (title != null) {
var sFileName = title.text.replace(//?|/*|//|//|/||/:|/"|/<|/>/gi, "_") + ".HTM";
}
else
{
var dtToday = new Date();
var sFileName = dtToday.getYear() + "_" + (dtToday.getMonth() + 1) + "_" + dtToday.getDate() + ".HTM";
};
//直接写了.反正XSL做了相应修改
do
cument.clear();
do
cument.writeln(html);

//下面的对话框,只是为了缓冲一下,不然执行SaveAsHTML时,
//说什么对象无法加载,或者说不支持该属性或者方法之类的,
//我也没办法了
//用了整整两个晚上才找到的原因呀,竟然是这个!!! faint...
var sSaveName = "将保存为:" + sPathName + sFileName;
alert(sSaveName);

SaveAsHTML(sFileName, html);
};
var msg = "";
function showMsg() {
if (msg!="") alert(msg.replace(//<br/>/gi, "/n"));
};
 
结束不了?
 
什么意思,说清楚些
 
嘻嘻,还好你来说句话,不然还真要请版主来结束了。多谢!
没什么意思,只是保存帖子的一种方法而已。
 
顶部