OStack程序员社区-中国程序员成长平台

标题: javascript - Cordova/Phonegap 通过 JavaScript inappbrowser 打印 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 00:35
标题: javascript - Cordova/Phonegap 通过 JavaScript inappbrowser 打印

我想从我正在开发的 iPad 应用程序中打印一页(或几页)。应用启动时的第一件事是通过以下代码加载外部网站:

window.location = https://*****.**;

我现在想从这个外部网站打印一些东西(在 iPad 上的 Safari 中效果很好)。试试这个简单的代码

window.print();

但它在 Cordova/Phonegap 的包装网络应用程序中不起作用。

我知道有这个插件> 但是那些需要 js/html 代码在本地才能工作,对吧?

有什么建议可以在我的应用中提供打印功能吗?非常欢迎任何建议,希望有一个简单的方法!

谢谢!



Best Answer-推荐答案


我知道这是一个老问题,但到目前为止还没有回答,我遇到了同样的问题。

将您通过 ajax 访问的页面加载到本地 javascript 变量中,并将包含您要打印的 html 的本地变量发送到打印插件的打印功能。

如果你想打印当前页面,只需将内容放入一个局部变量中,然后发送给你的打印插件。

https://github.com/hazemhagrass/phonegap-print

您可以使用 jQuery $.ajax、XmlHttpRequest 或任何您想将 html 字符串放入本地变量的方法。

示例用法(需要 jQuery):

$.get('https://*****.**',function(html){
    window.app.print(data,
        function(){
            console.log('success');
        },
        function(){
            console.log('error');
        }
    );
});

***OR***

var html = $('body').html();
window.app.print(html,
    function(){
         console.log('success');
    },
    function(){
         console.log('error');
    }
);

window.app = window.app || {};
window.app.print = function(html,successCallback,errorCallback) {
    successCallback = successCallback|| function(){};
    errorCallback = errorCallback|| function(){};
    var type = "text/html";
    var title = "test.html";
    var fileContent = html;
    window.plugins.PrintPlugin.print(
        fileContent,
        successCallback,
        errorCallback,
        "",
        type,
        title
    );
};

关于javascript - Cordova/Phonegap 通过 JavaScript inappbrowser 打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25219472/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4