论坛公告点击后不出弹出式窗口 用 window.open 取代 openScript()解决


2007年4月1号,发现点击公告无法弹出窗口。,参考以下代码

<href="#" onclick="JavaScript:window.open('winamp/winamp/exobud.htm',310,290)"><font color=#FF0000>点歌机</font></a>

对原有代码进行了修改(仅修改了3个openScript()的第一个)。

下面是原来使用openScript()的代码,存在此处,以备将来不时之需。

<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="xml" omit-xml-declaration = "yes" indent="yes" version="4.0"/>
    
<!--
    Copyright (C) 2004,2005 AspSky.Net. All rights reserved.
    Written by dvbbs.net Lao Mi
    Web: http://www.aspsky.net/,http://www.dvbbs.net/
    Email: eway@aspsky.net
    论坛公告模板
    
-->
<xsl:variable name="marquee" select="1"/><!--设置为1则移动公告-->
<xsl:variable name="maxposition" select="5"/><!--移动公告最多显示多少条-->
<xsl:variable name="show" select="1"/><!--方便不想显示公告的家伙,这里做了开关,设置为0则不显示公告-->
<xsl:template  match="/">
<xsl:if test="$show=1">
<xsl:variable name="boardid" select="xml/@boardid"/>
<div class="itableborder">
<xsl:choose>
        
<xsl:when test="xml/news[@boardid=$boardid]">
        
<xsl:choose>
        
<xsl:when test="$marquee=1">
        
<div style="width:100%;">
        
<marquee scrolldelay="150" bgcolor="yellow" scrollamount="3" onmouseout="if (document.all!=null)this.start()" onmouseover="if (document.all!=null)this.stop()">
        公告:
<xsl:for-each select="xml/news[@boardid=$boardid][position() &lt; ($maxposition+1)]"> <href="javascript:openScript('announcements.asp?boardid={$boardid}',500,400)"><b><xsl:value-of select="@title" disable-output-escaping="yes"/></b></a>(<xsl:value-of select="translate(@addtime,'T',' ')" /></xsl:for-each>
        
</marquee>
        
</div>
        
</xsl:when>
        
<xsl:otherwise>
        
<xsl:if test="xml/news[@boardid=$boardid]/@bgs and xml/news[@boardid=$boardid]/@bgs !=''"><bgsound  src="{xml/news[@boardid=$boardid]/@bgs}"/><img src="Skins/Default/filetype/mid.gif" border="0" alt="" /> </xsl:if><href="javascript:openScript('announcements.asp?action=showone&amp;boardid={$boardid}',500,400)"><b><xsl:value-of select="xml/news[@boardid=$boardid]/@title" disable-output-escaping="yes"/></b></a>(<xsl:value-of select="translate(xml/news[@boardid=$boardid]/@addtime,'T',' ')" />)</xsl:otherwise>
            
</xsl:choose>
        
</xsl:when>
        
<xsl:otherwise>
        
<href="javascript:openScript('announcements.asp?action=showone&amp;boardid={$boardid}',500,400)"><b>当前还未有公告</b></a>()
        
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

上文中共出现3次openScript(), 将第一次出现的openScript()替换为window.open()变为下面的代码


 

<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="xml" omit-xml-declaration = "yes" indent="yes" version="4.0"/>
    
<!--
    Copyright (C) 2004,2005 AspSky.Net. All rights reserved.
    Written by dvbbs.net Lao Mi
    Web: http://www.aspsky.net/,http://www.dvbbs.net/
    Email: eway@aspsky.net
    论坛公告模板
    
-->
<xsl:variable name="marquee" select="1"/><!--设置为1则移动公告-->
<xsl:variable name="maxposition" select="5"/><!--移动公告最多显示多少条-->
<xsl:variable name="show" select="1"/><!--方便不想显示公告的家伙,这里做了开关,设置为0则不显示公告-->
<xsl:template  match="/">
<xsl:if test="$show=1">
<xsl:variable name="boardid" select="xml/@boardid"/>
<div class="itableborder">
<xsl:choose>
        
<xsl:when test="xml/news[@boardid=$boardid]">
        
<xsl:choose>
        
<xsl:when test="$marquee=1">
        
<div style="width:100%;">
        
<marquee scrolldelay="150" bgcolor="yellow" scrollamount="3" onmouseout="if (document.all!=null)this.start()" onmouseover="if (document.all!=null)this.stop()">
        公告:
<xsl:for-each select="xml/news[@boardid=$boardid][position() &lt; ($maxposition+1)]"> <href="#" onclick="javascript:window.open('announcements.asp?boardid={$boardid}','','')"><b><xsl:value-of select="@title" disable-output-escaping="yes"/></b></a>(<xsl:value-of select="translate(@addtime,'T',' ')" /></xsl:for-each>
        
</marquee>
        
</div>
        
</xsl:when>
        
<xsl:otherwise>
        
<xsl:if test="xml/news[@boardid=$boardid]/@bgs and xml/news[@boardid=$boardid]/@bgs !=''"><bgsound  src="{xml/news[@boardid=$boardid]/@bgs}"/><img src="Skins/Default/filetype/mid.gif" border="0" alt="" /> </xsl:if><href="javascript:openScript('announcements.asp?action=showone&amp;boardid={$boardid}',500,400)"><b><xsl:value-of select="xml/news[@boardid=$boardid]/@title" disable-output-escaping="yes"/></b></a>(<xsl:value-of select="translate(xml/news[@boardid=$boardid]/@addtime,'T',' ')" />)</xsl:otherwise>
            
</xsl:choose>
        
</xsl:when>
        
<xsl:otherwise>
        
<href="javascript:openScript('announcements.asp?action=showone&amp;boardid={$boardid}',500,400)"><b>当前还未有公告</b></a>()
        
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

posted on 2007-04-06 21:57  cy163  阅读(1217)  评论(0编辑  收藏  举报

导航