繁体   English   中英

如何在xslt中包含javascript文件和来自文件的调用函数?

[英]How to include javascript file and call function from file in xslt?

我正在尝试调用KS.js文件中存在的javascript函数,并且我已经在XSLT文件中引用了该文件,但是它给了我javascript错误,请检查下面的图片。

有人可以告诉我我做错了什么吗?

MAIN.xsl

<?xmlversion="1.0"encoding="utf-8"?>
<xsl:stylesheetversion="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:w3="http://www.w3.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:includehref="XSL-JS.xsl"/>
<xsl:templatematch="/">
<htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:w3="http://www.w3.org"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<xsl:call-templatename="headers"></xsl:call-template>
</head>
<body>
<inputtype="button"value="Click"onclick="LoadSource()"style="vertical-align:middle;width:25px;height:25px;" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>

XSL-JS.xsl,我声明过js文件的xsl文件

<?xmlversion="1.0"encoding="utf-8"?>
<xsl:stylesheetversion="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:w3="http://www.w3.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:templatename="headers">
<scriptsrc="KS.js"type="text/javascript">&#160;</script>
</xsl:template>
</xsl:stylesheet>

定义功能的KS.js javascript文件

function LoadSource()
{
alert('Success');
}

输出带有JavaScript错误

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:w3="http://www.w3.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<script src="KS.js" type="text/javascript" xmlns=""> </script>
</head>
<body>
<input type="button" value="Click" onclick="LoadSource()" style="vertical-align:middle;width:25px;height:25px;" />
</body>
</html>

JavaScript错误图片 在此处输入图片说明

山姆尝试这样做:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    <xsl:template match="/">
        <html>
        <head>
            <script src="KS.js" type="text/javascript"/>
        </head>
        <body>
            <input type="button" value="Click" onclick="LoadSource()"  />
        </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

将其重命名为所需名称,然后将其放入测试文件夹中-看看是否可行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM