在XPages中配置javascript库docxtemplater

在XPages中配置javascript库docxtemplater,xpages,docxtemplater,Xpages,Docxtemplater,我正在尝试在XPages应用程序中使用库docxtemplater Javascript库docxtemplater()用作 依赖另一个开源库jszip utils.js ()来压缩和解压docx文件 问题是XPages中的javascript库jszip-utils.js不可用 工作 我在WebContent文件夹下的文件夹(jslib)中插入了javascript库 这是我的测试页面 <?xml version="1.0" encoding="UTF-8"?> <xp:v

我正在尝试在XPages应用程序中使用库docxtemplater

Javascript库docxtemplater()用作

依赖另一个开源库jszip utils.js

()来压缩和解压docx文件

问题是XPages中的javascript库jszip-utils.js不可用

工作

我在WebContent文件夹下的文件夹(jslib)中插入了javascript库

这是我的测试页面

 <?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">   

 <script src="jslib/main.min.js"></script>
 <script src="jslib/angular-expressions.js"></script>  
   <script src="jslib/jszip.js"></script> 
   <script src="jslib/jszip-utils.js"></script> 
     <script src="jslib/FileSaver.min.js"></script> 
          <xp:button value="Label" id="button1">
            <xp:eventHandler event="onclick" submit="false">
                <xp:this.script><![CDATA[ 
  var loadFile=function(url,callback){
        JSZipUtils.getBinaryContent(url,callback);
    }

       loadFile("tagExample.docx",function(err,content){
                doc=new DocxGen(content)
                doc.setData( {"first_name":"Hipp",
                    "last_name":"Edgar",
                    "phone":"0652455478",
                    "description":"New Website",
                    "image":'image.png'                 
                    }
                ) //set the templateVariables
                doc.render() //apply them (replace all occurences of {first_name} by Hipp, ...)
                out=doc.getZip().generate({type:"blob"}) //Output the document using Data-URI
                saveAs(out,"output.docx")
            })]]></xp:this.script>
            </xp:eventHandler></xp:button>
          </xp:view>


有人处理过这个问题吗?

当您查看网页中的firebug时,您很可能会看到404用于JavaScript。您需要将它们作为脚本库添加到xpages中,并使用带有client属性的xpages脚本标记,或者将它们添加到web-inf目录中,并使用脚本标记加载它们。您仍然需要客户端事件来触发它们

当您在网页中查看firebug时,您很可能会看到404用于JavaScript。您需要将它们作为脚本库添加到xpages中,并使用带有client属性的xpages脚本标记,或者将它们添加到web-inf目录中,并使用脚本标记加载它们。您仍然需要客户端事件来触发它们

这是一个AMD装载机问题。它与XPage的Dojo冲突

使用此解决方案

您的代码将如下所示:


...
...

这是AMD装载机的问题。它与XPage的Dojo冲突

使用此解决方案

您的代码将如下所示:


...
...

只需在html页面中参考以下java脚本即可

<script src="http://kendo.cdn.telerik.com/2016.1.112/js/jszip.min.js"></script>

只需在html页面中参考以下java脚本即可

<script src="http://kendo.cdn.telerik.com/2016.1.112/js/jszip.min.js"></script>


代码规则。添加您使用的代码段,并共享您将这些文件确切放置的位置。您是否尝试在客户端或服务器端使用它们?ServerJS是ES3,不支持
require
我添加了代码段:如果我在web服务器中尝试HTML页面的代码段并执行代码,我会添加该代码段。两个jszip utils.js库和FileSaver.min.js中的XPages不起作用我补充说,如果我在web服务器中尝试HTML页面的片段并执行代码,那么代码就起作用了。在XPages中,有两个文件:szip-utils.js库和FileSaver.min.js不工作。您的示例不是有效的XPage。请从XPage的source选项卡再次复制它。Knut id正确,如果需要帮助代码规则,则需要提供完整的XPage。添加您使用的代码段,并共享您将这些文件确切放置的位置。您是否尝试在客户端或服务器端使用它们?ServerJS是ES3,不支持
require
我添加了代码段:如果我在web服务器中尝试HTML页面的代码段并执行代码,我会添加该代码段。两个jszip utils.js库和FileSaver.min.js中的XPages不起作用我补充说,如果我在web服务器中尝试HTML页面的片段并执行代码,那么代码就起作用了。在XPages中,有两个文件:szip-utils.js库和FileSaver.min.js不工作。您的示例不是有效的XPage。请从XPage的source选项卡再次复制它。Knut id正确,如果需要帮助,您需要提供完整的XPage谢谢。现在可以工作了,但前提是xsp.resources.aggregate=false谢谢。现在可以工作了,但前提是xsp.resources.aggregate=false