Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
为什么除了Chrome之外,其他浏览器都会执行JavaScript?_Javascript_Google Chrome_Vaadin_Content Security Policy - Fatal编程技术网

为什么除了Chrome之外,其他浏览器都会执行JavaScript?

为什么除了Chrome之外,其他浏览器都会执行JavaScript?,javascript,google-chrome,vaadin,content-security-policy,Javascript,Google Chrome,Vaadin,Content Security Policy,我正在使用Vaadin,希望在单击菜单栏的菜单项时,通过JavaScript执行对上载组件的单击。这在除Chrome之外的任何浏览器中都能很好地工作。有人提到这是因为Chrome的内容安全策略,但Firefox也有这一点,并且脚本是在FF中执行的 脚本如下所示: 功能点击上传(元素){ //DOM2事件 var dispatchMouseEvent=函数(目标,变量参数){ var e=document.createEvent(“MouseEvents”); //如果您需要clientX、cl

我正在使用Vaadin,希望在单击菜单栏的菜单项时,通过JavaScript执行对上载组件的单击。这在除Chrome之外的任何浏览器中都能很好地工作。有人提到这是因为Chrome的内容安全策略,但Firefox也有这一点,并且脚本是在FF中执行的

脚本如下所示:

功能点击上传(元素){
//DOM2事件
var dispatchMouseEvent=函数(目标,变量参数){
var e=document.createEvent(“MouseEvents”);
//如果您需要clientX、clientY等,可以致电
//InitMouseeEvent而不是initEvent
e、 initEvent.apply(e,Array.prototype.slice.call(arguments,1));
目标。调度事件(e);
};
dispatchMouseEvent(元素'mouseover',true,true);
dispatchMouseEvent(元素'mousedown',true,true);
DispatchMouseeEvent(元素“click”、true、true);
DispatchMouseeEvent(元素'mouseup',true,true);

}
这是由于安全原因造成的。我不认为你可以强迫用户在Chrome中上传文件。

如果你碰巧使用了Vaadin 8,并且你可以进行设计更改,Vaadin 8中有HTML5文件拖放支持。有关更多详细信息,请参阅FileDropTarget:


是否在任何地方记录了这一点?在我的例子中,用户希望上传一个文件,但不是使用丑陋的上传组件,而是通过菜单栏。所以Chrome没有机会实现这种行为?