#

Javascript: File chooser dialog can only be shown with a user activation

 

 

Die Fehlermeldung

File chooser dialog can only be shown with a user activation

Wird angezeigt, wenn man in Javascript versucht einen File-Dialog zu öffnen per Klick.

Filedialog per javascript click() öffnen

 

 

Hier der javascript Code

function editor_open_FileDialog() {

    //------< editor_open_FileDialog() >------

    editor_Remove_all_ImageResize_Divs();

 

    Upload_Files_Target = "Files";

    var input_Files = document.getElementById("files_input_field");

    input_Files.click();

    //------</ editor_open_FileDialog() >------

}

 

Fehlermeldung

 

Das HTML Element das den Event auslöst ist ein Link a  ohne href mit einem a.onclick() event

<a title="Insert Images, Files, Videos" class="fab_Button fab_Button_edit" onclick="editor_open_FileDialog();">

 <span class="fab_Icon">+📎</span>

</a>

 

 

Versteckt auf der Webseite ist ein File-Upload Feld, welches angesprochen werde soll.

<form method="post" enctype="multipart/form-data">

<input type="file" id="files_input_field" name="files" multiple style="visibility:hidden;height:0px;width:0px;" onchange="upload_Files_onChanged();" />

</form>

 

Lösung 1:

die Fehlermeldung kommt nur, wenn man im Browser Debug einen Breakpoint auf onclick() setzt. Dann kann der Dialog nicht fortgeführt werden. Ohne Breakpoint Haltepunkt funktioniert die Anwendung. zb Breakpoint in Visual Studio

 

 

Lösung 2:

Man muss das HTML Element von a auf button ändern.

Der .click() muss dann gar nicht mehr ausgeführt werden.

<button title="Insert Images, Files, Videos" class="fab_Button fab_Button_edit" onclick="editor_open_FileDialog();">

                <span class="fab_Icon">+📎</span>

</button>

 

 

Funktioniert:

Filedialog per Button öffnen

Nach dem man das HtmlElement auf <button> geändert hat, öffnet sich der Filedialog wie erwartet

Mobile

.

0123movie.net