我有一个xsl文件,它会生成一个“预览”链接。
<a>
<xsl:attribute name="href">
<xsl:text>#preview</xsl:text>
</xsl:attribute>
<xsl:attribute name="onclick">
<xsl:text>embeddedPreview("</xsl:text>
<xsl:text>http://docs.google.com/viewer?url=</xsl:text>
<!--Google can't reach a local development machines, so you may want to code in your production server, where Google downloads the file from-->
<!--<xsl:text>http://example.edu/</xsl:text>-->
<!-- Getting bitstreams by ID XMLUI: /xmlui/bitstream/id JSPUI: /jspui/retrieve -->
<xsl:text>/xmlui/bitstream/id/</xsl:text>
<xsl:value-of select="substring(@ID,6)"/>
<xsl:text>&embedded=true</xsl:text>
<xsl:text>");</xsl:text>
/xsl:attribute>
Preview
</a>
每当点击链接时,onclick事件会调用一个名为embeddedPreview的javascript函数。 embeddedPreview函数存储在mylibrary.js:
中/**
* Creates an iframe with the specified source
* @REQUIRES jQuery
* @REQUIRES that there exists an element with ID preview-embed
*/
function embeddedPreview(source) {
if($("#embed").length > 0) {
//set the source to the location asked for
$("#embed").attr("http://19.46.1.34:8081/xmlui/handle/123456789", source);
} else {
//Create the embed iframe
$("#preview-embed").append("<iframe id='embed' src='"+source+"' width='100%' height='342px' style='border:none;'/>"); //requires jQuery
}
}
每当我点击预览链接时,都会出现错误:
UnCaughtReferenceError: embeddedPreview is not defined
onclick
如何在JSL文件中嵌入Javascript?
答案 0 :(得分:1)
问题不在XSLT中,因为给出的错误指定调用embeddedPreview
但未找到(未定义),这意味着XSLT执行了正确的转换。
所以可能性是:
确保在控制台中检查您的javascript错误,如果这不能解决您的问题或发现任何其他错误,请发表评论。
如果这不能解决问题,如果您可以在转换后发布已转换的链接(标记),将会有所帮助。