Cordova/Phonegap 通过 JavaScript inappbrowser 打印
Posted
技术标签:
【中文标题】Cordova/Phonegap 通过 JavaScript inappbrowser 打印【英文标题】:Cordova/Phonegap print via JavaScript inappbrowser 【发布时间】:2014-08-09 14:18:11 【问题描述】:我想从我正在开发的 iPad 应用程序中打印一个页面(或一些页面)。应用启动时的第一件事是通过以下代码加载外部网站:
window.location = https://*****.**;
我现在想从这个外部网站打印一些东西(在 iPad 上的 Safari 中效果很好)。试试这个简单的代码
window.print();
但它在 Cordova/Phonegap 的包装网络应用程序中不起作用。
我知道有这方面的插件> 但是那些需要 js/html 代码在本地才能工作,对吧?
有什么建议可以在我的应用中提供打印功能吗?非常欢迎任何建议,希望有一个简单的方法!
谢谢!
【问题讨论】:
【参考方案1】:我知道这是一个老问题,但到目前为止还没有回答,我遇到了同样的问题。
将您通过 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
);
;
【讨论】:
看起来很简单,它可以工作 =) 还没试过,谢谢你的建议!以上是关于Cordova/Phonegap 通过 JavaScript inappbrowser 打印的主要内容,如果未能解决你的问题,请参考以下文章
Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例
通过 cordova / phonegap 构建过程为 ios 应用程序设置架构
通过 Cordova/Phonegap 应用程序创建一个可以由另一个应用程序 (ios) 打开的文件?
Cordova/Phonegap 无法识别 FileTransfer