Chrome Appを開発しています。ユーザーがPDF形式でHTML形式でエクスポートできるようにしたいと考えています。 私はいくつかの調査を行い、必要なプラグインとしてjsPdfが見つかりました。 今、私の問題になります。 jsPDFとその機能「fromHTML」は、Chromeパッケージアプリケーションでは使用できない「document.writeln()」メソッドを使用します。jspdf(Chromeパッケージ版):document.writeln()利用できません
"未知のエラー:document.writeln()はパッケージ化されたアプリケーションでは使用できません。"
Console error as jspdf tries to use document.writeln()
私はトンインターネット上で調査作られ、そしていくつかの「document.create」を追加することで、その問題に対処するためにいくつかの方法があることを発見しました。しかし、私はjspdfがどのように動作するのかわかりませんが、私は実際に何を作成するのか分かりません。
問題を引き起こしているjspdfの一部があります:
var $frame, $hiddendiv, framename, visuallyhidden;
framename = "jsPDFhtmlText" + Date.now().toString() + (Math.random() * 1000).toFixed(0);
visuallyhidden = "position: absolute !important;" + "clip: rect(1px 1px 1px 1px); /* IE6, IE7 */" + "clip: rect(1px, 1px, 1px, 1px);" + "padding:0 !important;" + "border:0 !important;" + "height: 1px !important;" + "width: 1px !important; " + "top:auto;" + "left:-100px;" + "overflow: hidden;";
$hiddendiv = document.createElement('div');
$hiddendiv.style.cssText = visuallyhidden;
$hiddendiv.innerHTML = "<iframe style=\"height:1px;width:1px\" name=\"" + framename + "\" />";
document.body.appendChild($hiddendiv);
$frame = window.frames[framename];
$frame.document.open();
$frame.document.writeln(element);//This causes "Uncaught Error: document.writeln() is not available in packaged apps."
$frame.document.close();
return $frame.document.body;
そして、ここではjspdfライブラリの私の呼び出しで、多分私はここでミスをした:
$('#exportMonth').click(function(){
console.log(TAG + "Starting rendering as PDF");
var doc = new jsPDF();
specialElementHandlers = {
// element with id of "bypass" - jQuery style selector
// here i've nothing to bypass, so nothing is 'bypassme'
'#bypassme': function(element, renderer) {
// true = "handled elsewhere, bypass text extraction"
return true
}
};
//the id 'month' refers to a div containing a html Table
doc.fromHTML($('#month').html(),15,15 ,{
width:600,
elementHandler:specialElementHandlers
});
doc.save('Tst.pdf');
console.log(TAG + "Should be done");
});
私は続けますよ私の研究は、今私は本当にあなたの助けを必要としています!
私はいくつかのことを言うのを忘れているかもしれませんが、私に知らせてください。できるだけ早くそれを修正しようとします。
多くの感謝!
このリンクをチェックすることができます:http://stackoverflow.com/questions/16954731/google-closure-and-chrome-packaged-apps-compatibility – abielita
@abielita問題を検討していただきありがとうございます。私はすでに数回の投稿を見てきましたが、私の主張はjspdfが何を書きたいのかわからないので、document.create( '私は何も')で置き換えることができません。 – Kwarthys