Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows用户名变量和javascript_Javascript_Node.js_Filesystems_Node Webkit - Fatal编程技术网

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>