Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xslt 单击链接时触发函数调用,返回链接值';s咔嗒一声_Xslt_Jquery - Fatal编程技术网

Xslt 单击链接时触发函数调用,返回链接值';s咔嗒一声

Xslt 单击链接时触发函数调用,返回链接值';s咔嗒一声,xslt,jquery,Xslt,Jquery,基本上,如果特定的在浏览器上打开此XML文档时: <?xml-stylesheet type="text/xsl" href="test.xsl"?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Test XSLT javascript injektion</title> </head> <body>

基本上,如果特定的
在浏览器上打开此XML文档时:

<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Test XSLT javascript injektion</title>
    </head>
    <body>
        <h2>Test XSLT javascript injektion</h2>
        <ul>
            <li><a href="http://www.google.com">Google</a></li>
            <li><a href="http://www.stackoverflow.com">Stack Overflow</a></li>
        </ul>
    </body>
</html>

测试XSLT javascript注入
测试XSLT javascript注入
将此样式表命名为“test.xsl”:


输出:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Test XSLT javascript injektion</title>
    </head>
    <body>
        <h2>Test XSLT javascript injektion</h2>
        <ul>
            <li>
                <a href="http://www.google.com" onclick="alert('Google')">Google</a>
            </li>
            <li>
                <a href="http://www.stackoverflow.com" onclick="alert('Stack Overflow')">Stack Overflow</a>
            </li>
        </ul>
    </body>
</html>

测试XSLT javascript注入
测试XSLT javascript注入

单击即可发出警报。

在浏览器上打开此XML文档时:

<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Test XSLT javascript injektion</title>
    </head>
    <body>
        <h2>Test XSLT javascript injektion</h2>
        <ul>
            <li><a href="http://www.google.com">Google</a></li>
            <li><a href="http://www.stackoverflow.com">Stack Overflow</a></li>
        </ul>
    </body>
</html>

测试XSLT javascript注入
测试XSLT javascript注入
将此样式表命名为“test.xsl”:


输出:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Test XSLT javascript injektion</title>
    </head>
    <body>
        <h2>Test XSLT javascript injektion</h2>
        <ul>
            <li>
                <a href="http://www.google.com" onclick="alert('Google')">Google</a>
            </li>
            <li>
                <a href="http://www.stackoverflow.com" onclick="alert('Stack Overflow')">Stack Overflow</a>
            </li>
        </ul>
    </body>
</html>

测试XSLT javascript注入
测试XSLT javascript注入

并且警报在单击时起作用。

您可以静态定义
a/@onclick
。如果这不是您要问的,那么请注意XSLT在任何用户操作之前都是有效的。不起作用。不知道我错过了什么。尝试通过使用简单的javascript方法编写HTML来保持简单。然后,您尝试的内容就超出了XSLT的范围。静态定义onclick属性可以在XSLT中完成。这不适用于您的场景的原因可能有很多。我想知道你是以何种方式运行了转换的。不,仅仅用简单的HTML(不使用XSL)来尝试也是行不通的。我想如果我能在HTML中工作,我也可以在XSL中做类似的事情。谢谢你的帮助。还有其他建议吗?您可以静态定义
a/@onclick
。如果这不是您要问的,那么请注意XSLT在任何用户操作之前都是有效的。不起作用。不知道我错过了什么。尝试通过使用简单的javascript方法编写HTML来保持简单。然后,您尝试的内容就超出了XSLT的范围。静态定义onclick属性可以在XSLT中完成。这不适用于您的场景的原因可能有很多。我想知道你是以何种方式运行了转换的。不,仅仅用简单的HTML(不使用XSL)来尝试也是行不通的。我想如果我能在HTML中工作,我也可以在XSL中做类似的事情。谢谢你的帮助。还有其他建议吗?实际上XSL不起作用:(输出页面起作用了,让我也试试again@Amy:如果您正在发送此问题,请注意MIME类型。谢谢…这就是我最终解决此问题的方式,可能对其他人有用:实际上XSL不起作用:(输出页面正在运行,让我也尝试一下again@Amy:如果您正在发送此问题,请注意MIME类型。谢谢…这是我最终解决此问题的方式,可能对其他人有用:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Test XSLT javascript injektion</title>
    </head>
    <body>
        <h2>Test XSLT javascript injektion</h2>
        <ul>
            <li>
                <a href="http://www.google.com" onclick="alert('Google')">Google</a>
            </li>
            <li>
                <a href="http://www.stackoverflow.com" onclick="alert('Stack Overflow')">Stack Overflow</a>
            </li>
        </ul>
    </body>
</html>