Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.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 一种通过JS保存HTML结果的方法_Javascript_Android_Pdf - Fatal编程技术网

Javascript 一种通过JS保存HTML结果的方法

Javascript 一种通过JS保存HTML结果的方法,javascript,android,pdf,Javascript,Android,Pdf,我制作了一个JavaScript Web应用程序,可以基于HTML表单计算一些东西。它必须在所有现代网络浏览器和最常用的移动设备上运行良好,所以我使用Bootstrap 3实现了这一点,这里没有问题,但该应用程序正在返回一个包含结果和其他数据的页面,我似乎不知道如何在所有移动设备+桌面PC上保存这些结果 以下是我迄今为止所尝试的: 我试图生成页面的打印屏幕,根据我所读到的,这不能只用JavaScript来完成。所以这里是死胡同 现在我正在使用创建一个带有结果的PDF,这在任何情况下都很有效,但是

我制作了一个JavaScript Web应用程序,可以基于HTML表单计算一些东西。它必须在所有现代网络浏览器和最常用的移动设备上运行良好,所以我使用Bootstrap 3实现了这一点,这里没有问题,但该应用程序正在返回一个包含结果和其他数据的页面,我似乎不知道如何在所有移动设备+桌面PC上保存这些结果

以下是我迄今为止所尝试的:

  • 我试图生成页面的打印屏幕,根据我所读到的,这不能只用JavaScript来完成。所以这里是死胡同

  • 现在我正在使用创建一个带有结果的PDF,这在任何情况下都很有效,但是当涉及到下载按钮时,它只在桌面和iOS上有效。在Android的默认浏览器(4.4版本下)上,它似乎无法工作。什么都没有发生,问题是普遍的(同样,从我所读到的)。Blob.js相关

  • 我尝试使用向用户显示生成的PDF。这个插件有一个下载按钮,所以这是我考虑使用这个插件的主要原因。但我仍然有一个问题,ViewerJS需要一个指向磁盘上PDF文件的路径才能工作,而jsPDF没有创建路径,它只是创建了一个URI路径(我希望这就是它的名称),比如:data:application/PDF;base64,JVBERi0xLjM。。。(一个很长的URI)。我不知道如何让ViewerJS从该URI加载PDF,而不是从磁盘上的文件加载

  • 我正在寻找其中一个问题的解决方案,但也有新的建议

    我真的希望有人能帮助我。
    提前谢谢。

    您可以使用HTML5画布,让用户以image/png的形式下载结果。大多数现代浏览器在移动和桌面上都提供图像下载选项

    <html>
        <head>
            <title></title>
            <script>
    
    function update() {
        var canvas = document.createElement("canvas");
        canvas.width = 300;
        canvas.height = 300;
    
        var ctx = canvas.getContext("2d");
        ctx.fillStyle = "#dddddd";
        ctx.fillRect(0, 0, 300, 300);
    
        ctx.fillStyle = "#000000";
        ctx.font = "20px Helvetica";
        ctx.fillText(document.getElementById("text").value, 100, 100);
    
        document.getElementById("img").src = canvas.toDataURL("image/png");
    }
        </script>
    </head>
    <body>
        <input id="text" onkeyup="update()" />
        <img id="img" />
    </body>
    
    
    函数更新(){
    var canvas=document.createElement(“canvas”);
    画布宽度=300;
    帆布高度=300;
    var ctx=canvas.getContext(“2d”);
    ctx.fillStyle=“#dddddd”;
    ctx.fillRect(0,0300300);
    ctx.fillStyle=“#000000”;
    ctx.font=“20px Helvetica”;
    ctx.fillText(document.getElementById(“text”).value,100100);
    document.getElementById(“img”).src=canvas.toDataURL(“image/png”);
    }