Readdy Write  
0,00 €
Your View Money
Views: Count
Self 20% 0
Your Content 60% 0

Users by Links 0
u1*(Content+Views) 10% 0
Follow-Follower 0
s2*(Income) 5% 0

Count
Followers 0
Login Register as User

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

16.07.2021 (👁10890)

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