Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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
Javascript PptxGenjs writeFile()在IE11中不工作_Javascript_Internet Explorer 11_Pptxgenjs - Fatal编程技术网

Javascript PptxGenjs writeFile()在IE11中不工作

Javascript PptxGenjs writeFile()在IE11中不工作,javascript,internet-explorer-11,pptxgenjs,Javascript,Internet Explorer 11,Pptxgenjs,虽然一切似乎都很正常,但当调试器点击pres.writeFile()函数时,我根本无法获取pptx。基本上是一个承诺基础问题。当然,当使用Chrome进行测试时,一切都像expetexted一样工作。以前有人遇到过类似的问题吗?有什么建议吗?IE11有什么问题 var pres = new pptxgen(); function fetch_data(el) { $.ajax({ url:`${document.querySelector('.off-to-se

虽然一切似乎都很正常,但当调试器点击pres.writeFile()函数时,我根本无法获取pptx。基本上是一个承诺基础问题。当然,当使用Chrome进行测试时,一切都像expetexted一样工作。以前有人遇到过类似的问题吗?有什么建议吗?IE11有什么问题

    var pres = new pptxgen();

function fetch_data(el) {
    $.ajax({
        url:`${document.querySelector('.off-to-see-the-wizard > .route').innerHTML}`,
        contentType:"application/json",
        dataType:"json",
        success:function(response){
            if(response)
            {                 
                var data=JSON.parse(response);
                createPresentation(data,el);
            }
            else{
                console.log(response)
            }
        },
        error:function(err){
            console.log(err);
        }
    })
}


function createPresentation(data){
    var second_image="image/base64 ...."
    var main_image="image/jpg;base64 ..."

    function createMasterSlide(pres){
        pres.defineSlideMaster({
                title:'MASTER_SLIDE',
                bkgd:  'FFFFFF',
                objects:[
                    {'text':{text:`Test ${data._gateDescript} review`,options:{color:'000000',x:4.7,y:6.77,h:0.46,w:3.63, fontSize:14}}},
                    {'image':{x:0.3,y:6.47,w:1.14,h:0.83,data:second_image}}
                ],
                slideNumber: { x:9.11, y:6.77 ,w:0.43 ,h:0.42}
            })
        }
    function createMainSlide(pres){
        pres.author="Team";
        pres.layout='LAYOUT_4x3';
        let main_slide=pres.addSlide();
        main_slide.addImage({data:main_image, w:10, h:7.5})
        main_slide.addText(`Project ID:  ${data._p.Id}\nProject Name: ${data._p.Name}`, {color:'D55C00' ,x:0.47, y:3.56, w:5.0, h:0.7, fontSize:24})
        main_slide.addText(`Review: Test ${data._gateDescript} \nDate: ${Date.now()} `)
        }

    createMasterSlide(pres);
    createMainSlide(pres);
    pres.writeFile('Presentation.pptx');
}
快速更新 错误: 请看图片附件

i了解jszip与ie11之间存在问题
具体来说,pptxgenjs使用运行generateInternalStream的jszip。在这个功能的范围内发生了一些事情。有什么线索吗?

您使用的是哪个版本的jszip?看来pptxgenjs@3.1.1默认情况下使用jszip v3.2.1


在IE和Edge中使用jszip 3.2.x版时,我发现有些人也有同样的错误。你可以参考。没有这个问题的最新版本是3.1.5。您可以尝试使用jszip 3.1.x版。

您使用的是哪个版本的jszip?看来pptxgenjs@3.1.1默认情况下使用jszip v3.2.1


在IE和Edge中使用jszip 3.2.x版时,我发现有些人也有同样的错误。你可以参考。没有这个问题的最新版本是3.1.5。您可以尝试使用jszip版本3.1.x.

快速更新以供参考。 通过安装jszip 3.1.5版本,问题最终得以解决。 它的稳定性和功能使用IE11

所以你应该安装这个特定的版本

npm install jszip@3.1.5 --save
然后请导航到节点模块,复制所有jszip节点模块。 导航回pptxgenjs节点模块。导航到pptxgenjs-->node_modules并用之前安装和复制的版本覆盖jszip

所以pptxgenjs库将使用JSZIP3.1.5版本

问题解决了。
谢谢大家:)

快速更新供您参考。 通过安装jszip 3.1.5版本,问题最终得以解决。 它的稳定性和功能使用IE11

所以你应该安装这个特定的版本

npm install jszip@3.1.5 --save
然后请导航到节点模块,复制所有jszip节点模块。 导航回pptxgenjs节点模块。导航到pptxgenjs-->node_modules并用之前安装和复制的版本覆盖jszip

所以pptxgenjs库将使用JSZIP3.1.5版本

问题解决了。
谢谢大家:)

这是IE,基本上带有ES5JS引擎和过时的DOM。使用Babel或干脆放弃对IE的支持,其供应商多年前就放弃了该浏览器的开发…我正在使用webpack,并且已经有了Babel loader…嗯,我很困惑错误消息指的是一个失败的猴子补丁或本机对象的子类化,但是没有人能在没有看到代码的情况下说出任何准确的话。请您提供,以便我们可以进行测试,并了解如何提供帮助?只有上述描述,我们无法定位问题。感谢您的理解。好吧,当代码使用ie11点击pptx.writeFile(“test-pptx”)时,就会调用pptxgen.es.js,在那里我得到了描述的错误。它是IE,基本上带有ES5 js引擎和过时的DOM。使用Babel或干脆放弃对IE的支持,其供应商多年前就放弃了该浏览器的开发…我正在使用webpack,并且已经有了Babel loader…嗯,我很困惑错误消息指的是一个失败的猴子补丁或本机对象的子类化,但是没有人能在没有看到代码的情况下说出任何准确的话。请您提供,以便我们可以进行测试,并了解如何提供帮助?只有上述描述,我们无法定位问题。感谢您的理解。好的,当代码使用ie11点击pptx.writeFile(“test-pptx”)时,就会调用pptxgen.es.js,在那里我得到了描述的错误。在打开这个线程之前,我已经查看了这个线程。使用JSZIP3.1.5我也会遇到同样的错误!你只是让我想知道。当你下载pptxgenjs包时,它需要jszip。看到这个线程,我也安装了JSZIP3.1.5。也许我不是在设计pptxgens来使用这个jzip?不知道,还有这个问题。顺便说一下,当我将webpack打包成一个包时,我的大多数节点模块都被排除在外,而我将pptxgenjs设置为不被排除在外。“也许我也不应该把jszip排除在外?”埃德尔干杯!您可以将您的解决方案发布为答案,并将您的答案标记为已接受答案。它可以在将来帮助其他社区成员解决类似的问题。谢谢你的理解。@Yu_Zhou当然!再次感谢!在打开这条线之前,我已经研究过这条线。使用JSZIP3.1.5我也会遇到同样的错误!你只是让我想知道。当你下载pptxgenjs包时,它需要jszip。看到这个线程,我也安装了JSZIP3.1.5。也许我不是在设计pptxgens来使用这个jzip?不知道,还有这个问题。顺便说一下,当我将webpack打包成一个包时,我的大多数节点模块都被排除在外,而我将pptxgenjs设置为不被排除在外。“也许我也不应该把jszip排除在外?”埃德尔干杯!您可以将您的解决方案发布为答案,并将您的答案标记为已接受答案。它可以在将来帮助其他社区成员解决类似的问题。谢谢你的理解。@Yu_Zhou当然!再次感谢!