将来の読者のための解決策:
「screen_shot.js」の Node.js 関数:
exports.getUserHome = function() {
return process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'];
}
index.html のヘッダー js:
$(document).ready(function() {
var sc= require('screen_shot');
$('.fileDialog').each(function(i) {
$(this).attr('nwworkingdir', sc.getUserHome() + '\\Pictures');
});
});
var sc= require('screen_shot');
function wait(e) {
var page = $(e).closest('[data-role="page"]');
$('#close-popup').click();
page.find('.fileDialog').click();
}
function screen_shot(fn) {
html2canvas($('body'), {
onrendered: function(canvas) {
var img = canvas.toDataURL("image/png").split(',')[1];
sc.buildFile(fn, img);
}
});
}
$('["..."]').live("pagecreate", function() {
$(this).find('.fileDialog').change(function() {screen_shot($('.fileDialog').val() + '.png');});
});
$('[id^="..."]').live("pagecreate", function() {
$(this).find('.fileDialog').change(function() {screen_shot($('.fileDialog').val() + '.png');});
});
$('[id^="..."]').live("pagecreate", function() {
$(this).find('.fileDialog').change(function() {screen_shot($('.fileDialog').val() + '.png');});
});
ダイアログとボタン:
<input style="display:none;" class="fileDialog" type="file" nwworkingdir="" nwsaveas/>
<a href="#" onclick="wait(this);" data-role="button" data-theme="j">Save As</a>