[英]Windows user name variable and javascript
I asked this question a few weeks ago and recently came back to it and solved it. 几周前我问了这个问题 ,最近又回来解决了。 I have a hidden input that looks like this:
我有一个隐藏的输入,看起来像这样:
<input style="display:none;" class="fileDialog" type="file" nwworkingdir="C:\Users\" nwsaveas/>
This opens a save dialog at the dir given to nwworkingdir
. 这将在给
nwworkingdir
的目录下打开一个保存对话框。 I would like the default location to be the user's Pictures
directory but I am having trouble getting the system user name dynamically with javascript. 我希望默认位置为用户的
Pictures
目录,但我无法使用javascript动态获取系统用户名。 I need the username because the path is usually C:\\Users\\USERNAME\\Pictures. I have tried constants such as
我需要用户名,因为路径通常是
C:\\Users\\USERNAME\\Pictures. I have tried constants such as
C:\\Users\\USERNAME\\Pictures. I have tried constants such as
ssfMYPICTURES and
CSIDL_PROFILE` but javascript doesn't recognize them or I am using them wrong. C:\\Users\\USERNAME\\Pictures. I have tried constants such as
ssfMYPICTURES and
CSIDL_PROFILE and
C:\\Users\\USERNAME\\Pictures. I have tried constants such as
但是javascript无法识别它们,或者我使用了错误的C:\\Users\\USERNAME\\Pictures. I have tried constants such as
。
The project is in node-webkit so a solution using javascript, node.js, or node-webkit APIs should work. 该项目位于node-webkit中,因此使用javascript,node.js或node-webkit API的解决方案应该可行。
Solution for future readers: 面向未来读者的解决方案:
Node.js function in "screen_shot.js": “ screen_shot.js”中的Node.js函数:
exports.getUserHome = function() {
return process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'];
}
header js in index.html: 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');});
});
dialog and button: 对话框和按钮:
<input style="display:none;" class="fileDialog" type="file" nwworkingdir="" nwsaveas/>
<a href="#" onclick="wait(this);" data-role="button" data-theme="j">Save As</a>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.