我想从我正在开发的 iPad 应用程序中打印一页(或几页)。应用启动时的第一件事是通过以下代码加载外部网站:
window.location = https://*****.**;
我现在想从这个外部网站打印一些东西(在 iPad 上的 Safari 中效果很好)。试试这个简单的代码
window.print();
但它在 Cordova/Phonegap 的包装网络应用程序中不起作用。
我知道有这个插件> 但是那些需要 js/html 代码在本地才能工作,对吧?
有什么建议可以在我的应用中提供打印功能吗?非常欢迎任何建议,希望有一个简单的方法!
谢谢!
Best Answer-推荐答案 strong>
我知道这是一个老问题,但到目前为止还没有回答,我遇到了同样的问题。
将您通过 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/
|