Windows用户名变量和javascript
我几周前问过,最近又回来解决了这个问题。我有一个隐藏的输入,如下所示:Windows用户名变量和javascript,javascript,node.js,filesystems,node-webkit,Javascript,Node.js,Filesystems,Node Webkit,我几周前问过,最近又回来解决了这个问题。我有一个隐藏的输入,如下所示: <input style="display:none;" class="fileDialog" type="file" nwworkingdir="C:\Users\" nwsaveas/> 这将在指定给nwworkingdir的目录处打开一个保存对话框。我希望默认位置是用户的Pictures目录,但我无法使用javascript动态获取系统用户名。我需要用户名,因为路径通常
<input style="display:none;" class="fileDialog" type="file" nwworkingdir="C:\Users\" nwsaveas/>
这将在指定给nwworkingdir
的目录处打开一个保存对话框。我希望默认位置是用户的Pictures
目录,但我无法使用javascript动态获取系统用户名。我需要用户名,因为路径通常是C:\Users\username\Pictures。我尝试了一些常量,如
ssfmypactures和
CSIDL_PROFILE`但javascript无法识别它们,或者我使用了错误的常量
该项目位于node webkit中,因此使用javascript、node.js或node webkit API的解决方案应该可以工作。面向未来读者的解决方案: “screen_shot.js”中的Node.js函数: 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>
1。这会打开一个“打开”对话框,而不是“保存”对话框,差别很大。2.JS无法控制打开哪个文件夹,这是浏览器的首选项,通常是下载文件夹或最近导航的文件夹。
nwsaveas
标记使其成为保存对话框。我在一小时前解决了这个问题,我将结束这个话题。
<input style="display:none;" class="fileDialog" type="file" nwworkingdir="" nwsaveas/>
<a href="#" onclick="wait(this);" data-role="button" data-theme="j">Save As</a>