Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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
Javascript AppJS拖放事件从未激发_Javascript_Node.js_Webkit_Dom Events_Appjs - Fatal编程技术网

Javascript AppJS拖放事件从未激发

Javascript AppJS拖放事件从未激发,javascript,node.js,webkit,dom-events,appjs,Javascript,Node.js,Webkit,Dom Events,Appjs,使用AppJS(),它基本上为NodeJS提供了一个webkit窗口。 我正试图利用拖放事件来处理代码中要使用的文件和URL 拖放操作的简短代码可在此处找到: 我用于创建窗口的代码: var app_window = appjs.createWindow({ width : 200, height : 200, showChrome : true, //display as standard os window with max/min/close buttons alpha:

使用AppJS(),它基本上为NodeJS提供了一个webkit窗口。 我正试图利用拖放事件来处理代码中要使用的文件和URL

拖放操作的简短代码可在此处找到:

我用于创建窗口的代码:

var app_window = appjs.createWindow({
  width  : 200,
  height : 200,
  showChrome : true, //display as standard os window with max/min/close buttons
  alpha: false,
  autoResize: true,  //adjust window size automatically according to content.
  resizable: true,   //allow user resize of window
  margin: 0,
  disableSecurity:true, //turn off security restrictions.
  showResizeGrip:false, //show/hide the resize grip.
  name:'Drag and Drop',   //undocumented parameter
  opacity:1,
  fullscreen:false,
  topmost:true
});

事件处理程序代码:

var window_drop = function(event) { // this code never fires.
  event.preventDefault();
  console.log('drop event');
};

以及我为触发事件设置的代码:

app_window.on('ready', function() {
  app_window.require = require;
  app_window.process = process;
  app_window.module = module;
  app_window.console = console;

  app_window.frame.show();
  app_window.frame.center();

  app_window.addEventListener("drop", window_drop);
});
规格:我正在Mac OSX Lion上运行NodeJS 32位(AppJS要求)。
我知道AppJS还处于初级阶段,但这应该可以用。


有什么问题吗?为什么事件从未被触发?

我不完全确定您的方法为什么不起作用,但请尝试我使用的方法(它确实起作用):-

在主html中,添加脚本标记,然后将drop事件附加到app ready事件中,如下所示:

addEventListener('app-ready', function(e){
    window.addEventListener("drop", window_drop);
    window.dispatchEvent(new Event('app-done'));
});

你有什么@client-side?也许你阻止了它。没有“客户端”,因为这不是一个传统的服务器。我认为您唯一可以提及的“客户端”是AppJS加载到webkit中的index.html页面,该页面大部分为空白,除了是之外,还有客户端、服务器
app.js
和文件夹
content
。您有客户端和服务器端javascript。但是读到这条评论意味着你的客户端没有javascript。你能粘贴完整的
app.js
文件吗?不只是部分这是除appjs包含部分之外的整个文件。var appjs=require('appjs');appjs.serveFileFrom(_dirname+'/content');为了便于阅读,我把它分成了几个部分。