Javascript ng文件上传';s ngf select指令导致Firefox中出现多个浏览器窗口

Javascript ng文件上传';s ngf select指令导致Firefox中出现多个浏览器窗口,javascript,angularjs,firefox,ng-file-upload,Javascript,Angularjs,Firefox,Ng File Upload,我在我的项目中使用ng文件上传,我面临一个奇怪的问题。在firefox中,每当我点击按钮时,它都会多次打开浏览器窗口(大部分是两次,每次都会打开3次)。此外,如果我在每个窗口中选择不同的inages,它们将被上传。这只发生在Firefox上,Firefox是我的maon dev broeser。我无法在chrome或edge中复制此内容。请帮忙! HTML: 而且,这个问题并非总是可以重现的。导致此错误的同一位代码今天似乎没有给出相同的错误。我不知道这是否是一个特定于开发的问题。此外,我还将gu

我在我的项目中使用ng文件上传,我面临一个奇怪的问题。在firefox中,每当我点击按钮时,它都会多次打开浏览器窗口(大部分是两次,每次都会打开3次)。此外,如果我在每个窗口中选择不同的inages,它们将被上传。这只发生在Firefox上,Firefox是我的maon dev broeser。我无法在chrome或edge中复制此内容。请帮忙! HTML:


而且,这个问题并非总是可以重现的。导致此错误的同一位代码今天似乎没有给出相同的错误。我不知道这是否是一个特定于开发的问题。此外,我还将gulp用作任务运行器。如果您可以创建一个可复制的JSFIDLE,我将对此进行研究。否则可能只是您的本地设置/工具等。
<div class="row">
    <div class="small-12 medium-12 large-12 columns">
        <input type="text" ng-model="myActionsCtrl.title">
    </div>
</div>
<div class="row">
    <div class="small-12 medium-8 large-8 columns">
        <input type="text" value="{{myActionsCtrl.file.name}} {{myActionsCtrl.errfile.name}} {{myActionsCtrl.errfile.error}}" readonly>
    </div>
    <div class="small-6 medium-4 large-4 columns">
        <button class="button" type="file" ng-model="myActionsCtrl.image" ngf-select="myActionsCtrl.browseImage($file, $invalidFiles)"
            accept="image/*" ngf-max-size="2MB">Browse</button>
    </div>
    <div class="small-6 medium-4 large-4 columns">
        <button class="button" ng-click="myActionsCtrl.uploadImage()">Upload</button>
    </div>
</div>
<div class="row">
    <div class="small-12 medium-12 large-12 columns">
        <img ngf-src="myActionsCtrl.image" ngf-resize="{width: 200, height: 200, quality: 0.9}">
    </div>
</div>
module.exports = function ($scope, Upload) {
    let vm = this;

    vm.uploadImage = function () {
        if (vm.file) {
            vm.file.upload = Upload.upload({
                url: '/uploads/gallery',
                method: 'POST',
                data: { title: vm.title },
                file: vm.file
            });

            vm.file.upload.then(function (response) {
                $timeout(function () {
                    vm.file.result = response.data;
                });
            }, function (response) {
                if (response.status > 0) { }
                vm.errorMsg = response.status + ': ' + response.data;
            }, function (evt) {
                vm.file.progress = Math.min(100, parseInt(100.0 *
                    evt.loaded / evt.total));
            });
        }
    }

    vm.browseImage = function (file, errFiles) {
        vm.file = file;
        vm.errFile = errFiles && errFiles[0];
    }
}