Browse Source

Fixed JS version of hxd.File.browse on Chrome (#768)

Sébastien Bénard 5 years ago
parent
commit
a2da01bbcd
1 changed files with 11 additions and 1 deletions
  1. 11 1
      hxd/File.hx

+ 11 - 1
hxd/File.hx

@@ -117,8 +117,14 @@ class File {
 			};
 			onSelect(b);
 		#elseif js
-			var input = js.Browser.document.createElement("input");
+			var input : js.html.InputElement = cast js.Browser.document.getElementById("heapsBrowserInput");
+			if( input==null ) {
+				input = cast js.Browser.document.createElement("input");
+				input.setAttribute("id","heapsBrowserInput");
+				js.Browser.document.body.appendChild(input);
+			}
 			input.setAttribute("type","file");
+			input.style.display = "none";
 			if( options.fileTypes!=null ) {
 				var extensions = [];
 				for(ft in options.fileTypes)
@@ -126,6 +132,9 @@ class File {
 						extensions.push("."+e);
 				input.setAttribute("accept",extensions.join(","));
 			}
+			input.onclick = function(e) {
+				input.value = null;
+			}
 			input.onchange = function(e) {
 				var file : js.html.File = e.target.files[0];
 				var b : BrowseSelect = {
@@ -153,6 +162,7 @@ class File {
 					}
 				}
 				onSelect(b);
+				input.remove();
 			}
 			input.click();
 		#else