收录日期:2019/03/26 02:52:37 时间:2016/05/31 07:15:30 标签:ASP.NET
我的xsl模板非常复杂,里面有很多需要js的。本来(.htm时)都挺好的,
我加入了xsl语言,改成xsl文件后,当用它格式化一个xml文件时,出错。
就连

if(a>b){alert("liu")}
都出错。说什么:缺少')'

真的不知道该如何解决。。。

高手指点。
把javascript脚本放在xsl:comment和cdata里面,像下面那样
<SCRIPT LANGUAGE="javascript">
                    <xsl:comment><![CDATA[

function GetIEVersion()
{
try
{
if(!window.clientInformation)return false;
if(window.clientInformation.appName.toLowerCase()!="microsoft internet explorer")return false;
if(window.clientInformation.appVersion.toLowerCase().indexOf("msie")==-1)return false;
var a=window.clientInformation.appVersion.toLowerCase().split(";");
for(var i=0;i<a.length;i++)
{
a[i]=a[i].replace(" ","");
if(a[i].indexOf("msie")==0)
{
var version=a[i].substr(4,a[i].indexOf(".")-2);
return version;
}
}
}
catch(exception)
{
}
return false;
}

window.IEVersion=GetIEVersion();

if(parseInt(window.IEVersion)<6)document.write("<style>textarea.content { behavior:url('/Expert/xsl/tacontent.htc')}</style>");
function mailto1()
{
document.mailto.email.value='';
var tmpText=prompt('请输入您朋友的EMail:',document.mailto.email.value);
if(tmpText){
document.mailto.email.value = tmpText;
document.mailto.submit();
}
}

]]>//</xsl:comment>
                </SCRIPT>
你可以
<script>
<![CDATA[
if(a>b){alert("liu")}
]>
</script>

不过你要分清楚你的js文件在服务器端执行还是在客户端
你可以把你的全部内容贴来
下面的脚本,方里面就出错。就是有> 和 <的地方都出错
<script language="javascript">
var picN=-1
function first(){
picN=0
showPict();
}
function back(){
picN--
if(picN<0) picN=0;
document.albumlist.albumtitle.selectedIndex=picN+2;
showPict();
}
function forw(){
picN++
if(picN>0) picN=0
document.albumlist.albumtitle.selectedIndex=picN+2;
showPict();
}
function last(){
picN=sum_photo
showPict();
}
function showPict(){
switch (picN) {
case 0: CardCode="1099276339.jpg"; break; 

}
document.cardpict.src="http://loveimg.163.com/myphotoes/78/50/yangming_8888/"+CardCode;
}
function showALBUM() {
if (document.albumlist.albumtitle.selectedIndex>=2){
picN = document.albumlist.albumtitle.selectedIndex-2;
showPict();
}
}
function openPict()
{
if (picN==-1) { document.albumlist.albumtitle.selectedIndex=2;showALBUM();}
switch (picN) {
case 0: CardCode="1099276339.jpg"; break; 
 
}
srcIMG="http://loveimg.163.com/myphotoes/78/50/yangming_8888/"+CardCode;
var newWin=window.open(srcIMG,"myalbum","status=no,scrollbars=1,resizable=1,width=800,height=600");
}

</script>
我实在数据库中读出数据,然后用StringBuilder生成一个xml串,(一个元素一个元素的构造的),在xml串中引用了这个xsl用于格式化。最后用Response.Write(stringbuilder.ToString());

这种情况 xsl中的js在那里执行。
用了46539492(#我思故我在#) 的方法,还出错,不过错误不同了:
这次提示的错误是:语法错误

<script language="javascript">
<xsl:comment>
<![CDATA[
var picN=-1
function first(){
picN=0
showPict();
}
function back(){
picN--
if(picN<  0) picN=0;
document.albumlist.albumtitle.selectedIndex=picN+2;
showPict();
}
function forw(){
picN++
if(picN  > 0) picN=0
document.albumlist.albumtitle.selectedIndex=picN+2;
showPict();
}
function last(){
picN=sum_photo
showPict();
}
function showPict(){
switch (picN) {
case 0: CardCode="1099276339.jpg"; break; 

}
document.cardpict.src="http://loveimg.163.com/myphotoes/78/50/yangming_8888/"+CardCode;
}
function showALBUM() {
if (document.albumlist.albumtitle.selectedIndex>=2){
picN = document.albumlist.albumtitle.selectedIndex-2;
showPict();
}
}
function openPict()
{
if (picN==-1) { document.albumlist.albumtitle.selectedIndex=2;showALBUM();}
switch (picN) {
case 0: CardCode="1099276339.jpg"; break; 
 
}
srcIMG="http://loveimg.163.com/myphotoes/78/50/yangming_8888/"+CardCode;
var newWin=window.open(srcIMG,"myalbum","status=no,scrollbars=1,resizable=1,width=800,height=600");
}
]]>//</xsl:comment>
</script>  


up!
up
up
<script language="javascript">
<![CDATA[]>
</script>
即可
我已经更改了JS,以避免这种情况的发生。谢谢!
孟大哥是高手,还有思归,我经常读你们的文章,很有深度,实用性也非常强

请教一个paypal+jsp 问题 文字处理系统 关于 MFC 消息机制的若干问题 linux shell终止代码的疑问? 请教web应用如何将上传的文档放到主目录之外的地方存储?谢谢~! 脚毛老是脱怎么办 求画图源程序代码 mysql-proxy安装,编译全部出错,configure时出错,求高手 求UDP传送Pixmap对象 c#格式化时间字符串问题 不知道这里是不是可以悬赏。。 征求一些SAP的问题解答 int *p=new int [8]的问题 如果使用linq to sql,还需要三层架构吗? Java知识疑难问题 『100分求助』webbrowser 如何向百度博客和新浪博的写博客里的标题和内容写入数据??? tcp/ip筛选中只允许了21,80几个端口,用 x-scan扫描为什么还是开放了其它很多端口,如3389,143,6000...... vcredist_x64在64位window2003sp2上安装不成功 求助:将txt文件导入sqlserver vcredist_x64在64位window2003sp2上安装不成功 winfrom的webbrowser在IE6和IE7中正常,但在IE8中不行 J2EE的学习过程 有厦门招PB的没有啊?同时不嫌弃俺年龄老的(38岁)!别的没啥,就是有10几年的经验! 请教windows api一日一练中的问题 Visual Studio2008打开母板页出错 repaint为什么执行了两次? 大家帮助分析一下oracle 11g EM无法启动 C语言挑战! 关于画笔无颜色问题,谢谢大家了 求windows下postgresql 的jdbc jar包