Bosna i Hercegovina



#1 08.06.2018-08:40
Davež Elmer Offline
Clan
Registrovan/a od: 14.08.2017-10:37
Komentari: 26


Subject: Save dijalog uz pomoć JavaScripta
U primeru klikom na link Sačuvaj uneti tekst se čuva u .txt fajl kome sam dao ime Tekst. Da li je moguće napraviti dijalog gde ću da izaberem mesto gde ću da sačuvam i da upišem naziv fajla? Ili možda samo da se ime unese u neki prompt...

Prilozi:
Informacije o fajlu: html  Primer.html
Preuzimanja: 36
Veličina: 6.30 KB

↑  ↓

#2 08.06.2018-13:25
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,182


Subject: Re: Save dijalog uz pomoć JavaScripta
ovo je tvoj primjer skinut na hd



pokrenuo tvoj primjer i upisao neki tekst



klikom na snimi sadrzaj izaberem destinaciju i ime tekst dokumenta



kada zelim otvoriti snimljeni tekst odem tamo gdje sam ga snimio i otvorim ga u nwkom tekst editoru



i gdje je sada problem?
Život je moja domovina.
Ovaj komentar je mijenjan 2 puta. zadnja izmjena 08.06.2018-13:50 od strane Avko. ↑  ↓

#3 08.06.2018-14:32
Davež Elmer Offline
Clan
Registrovan/a od: 14.08.2017-10:37
Komentari: 26


Subject: Re: Save dijalog uz pomoć JavaScripta
Koji browser koristite? Kod mene ako koristim Chrome ništa me ne pita nego samo sačuva a ako koristim Firefox ima dijalog da li hoću da sačuvam ili otvorim. Ni u jednom ni u drugom ne mogu da izaberem ime i lokaciju.

Sada sam shvatio da je to do podešavanja Chrome-a. Treba promeniti Settings --> Show Advanced Settings --> Downloads section --> Ask where to save each file before downloading. Verovatno ima nešto slično i kod Firefox-a. Da li je to moguće rešiti sa nekim promptom, npr. kad kliknem Sačuvaj pojavi se prompt gdje se upiše naziv fajla, lokacija je nebitna?
Ovaj komentar je mijenjan 2 puta. zadnja izmjena 08.06.2018-14:41 od strane Avko. ↑  ↓

#4 08.06.2018-14:43
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,182


Subject: Re: Save dijalog uz pomoć JavaScripta
stavi kod u poruku na nacin da izaberes iznad u poruci Kod pa koji je kod u tvome slucaju javascript a mozes i nema sintaksne oznake i izmedu toga stavi taj svoj kod
važi?

DownloadIzvorni kod (Text):
  1. ovdje stavis svoj kod npr.
  2.  
  3. let s=1
  4. let d=2
  5. print s+d

vidis kako sada to lijepo izgleda a moze se kod skinuti direkto ispravljati i ponovo staviti na forum

jeli tako?
Život je moja domovina.
Ovaj komentar je mijenjan 2 puta. zadnja izmjena 08.06.2018-14:55 od strane Avko. ↑  ↓

#5 08.06.2018-14:56
Davež Elmer Offline
Clan
Registrovan/a od: 14.08.2017-10:37
Komentari: 26


Subject: Re: Save dijalog uz pomoć JavaScripta
Rešio sam, nije neko rešenje jer će se kod vas pojavljivati i prompt i dijalog sve zavisi od podešavanja browsera. Izmenio sam samo dva reda, evo ako nekome treba:

DownloadIzvorni kod (Javascript):
  1. var naziv = prompt("Unesite naziv fajla:", "Tekst");
  2.         saveTextAs(area.value, naziv + '.txt');
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 08.06.2018-15:00 od strane Davež Elmer. ↑  ↓

#6 08.06.2018-17:59
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,182


Subject: Re: Save dijalog uz pomoć JavaScripta
stavi cijeli kod ako nije problem. mozda nekome zatreba
Život je moja domovina.
↑  ↓

#7 08.06.2018-21:10
Davež Elmer Offline
Clan
Registrovan/a od: 14.08.2017-10:37
Komentari: 26


Subject: Re: Save dijalog uz pomoć JavaScripta
DownloadIzvorni kod (Javascript):
  1. (function() {
  2.     var saveAs=saveAs ||(typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob&&navigator.msSaveOrOpenBlob.bind(navigator))||(function(view){"use strict";if(typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var doc=view.document,get_URL=function(){return view.URL||view.webkitURL||view},save_link=doc.createElementNS("http://www.w3.org/1999/xhtml","a"),can_use_save_link=!view.externalHost&&"download"in save_link,click=function(node){var event=doc.createEvent("MouseEvents");event.initMouseEvent("click",true,false,view,0,0,0,0,0,false,false,false,false,0,null);node.dispatchEvent(event)},webkit_req_fs=view.webkitRequestFileSystem,req_fs=view.requestFileSystem||webkit_req_fs||view.mozRequestFileSystem,throw_outside=function(ex){(view.setImmediate||view.setTimeout)(function(){throw ex},0)},force_saveable_type="application/octet-stream",fs_min_size=0,deletion_queue=[],process_deletion_queue=function(){var i=deletion_queue.length;while(i--){var file=deletion_queue[i];if(typeof file==="string"){get_URL().revokeObjectURL(file)}else{file.remove()}}deletion_queue.length=0;},dispatch=function(filesaver,event_types,event){event_types=[].concat(event_types);var i=event_types.length;while(i--){var listener=filesaver["on"+event_types[i]];if(typeof listener==="function"){try{listener.call(filesaver,event||filesaver)}catch(ex){throw_outside(ex)}}}},FileSaver=function(blob,name){var filesaver=this,type=blob.type,blob_changed=false,object_url,target_view,get_object_url=function(){var object_url=get_URL().createObjectURL(blob);deletion_queue.push(object_url);return object_url},dispatch_all=function(){dispatch(filesaver,"writestart progress write writeend".split(" "))},fs_error=function(){if(blob_changed||!object_url){object_url=get_object_url(blob)}if(target_view){target_view.location.href=object_url}else{window.open(object_url,"_blank")}filesaver.readyState=filesaver.DONE;dispatch_all()},abortable=function(func){return function(){if(filesaver.readyState!==filesaver.DONE){return func.apply(this,arguments)}}},create_if_not_found={create:true,exclusive:false},slice;filesaver.readyState=filesaver.INIT;if(!name){name="download"}if(can_use_save_link){object_url=get_object_url(blob);save_link.href=object_url;save_link.download=name;click(save_link);filesaver.readyState=filesaver.DONE;dispatch_all();return}if(view.chrome&&type&&type!==force_saveable_type){slice=blob.slice||blob.webkitSlice;blob=slice.call(blob,0,blob.size,force_saveable_type);blob_changed=true}if(webkit_req_fs&&name!=="download"){name+=".download"}if(type===force_saveable_type||webkit_req_fs){target_view=view}if(!req_fs){fs_error();return}fs_min_size+=blob.size;req_fs(view.TEMPORARY,fs_min_size,abortable(function(fs){fs.root.getDirectory("saved",create_if_not_found,abortable(function(dir){var save=function(){dir.getFile(name,create_if_not_found,abortable(function(file){file.createWriter(abortable(function(writer){writer.onwriteend=function(event){target_view.location.href=file.toURL();deletion_queue.push(file);filesaver.readyState=filesaver.DONE;dispatch(filesaver,"writeend",event)};writer.onerror=function(){var error=writer.error;if(error.code!==error.ABORT_ERR){fs_error()}};"writestart progress write abort".split(" ").forEach(function(event){writer["on"+event]=filesaver["on"+event]});writer.write(blob);filesaver.abort=function(){writer.abort();filesaver.readyState=filesaver.DONE};filesaver.readyState=filesaver.WRITING}),fs_error)}),fs_error)};dir.getFile(name,{create:false},abortable(function(file){file.remove();save()}),abortable(function(ex){if(ex.code===ex.NOT_FOUND_ERR){save()}else{fs_error()}}))}),fs_error)}),fs_error)},FS_proto=FileSaver.prototype,saveAs=function(blob,name){return new FileSaver(blob,name)};FS_proto.abort=function(){var filesaver=this;filesaver.readyState=filesaver.DONE;dispatch(filesaver,"abort")};FS_proto.readyState=FS_proto.INIT=0;FS_proto.WRITING=1;FS_proto.DONE=2;FS_proto.error=FS_proto.onwritestart=FS_proto.onprogress=FS_proto.onwrite=FS_proto.onabort=FS_proto.onerror=FS_proto.onwriteend=null;view.addEventListener("unload",process_deletion_queue,false);saveAs.unload=function(){process_deletion_queue();view.removeEventListener("unload",process_deletion_queue,false)};return saveAs}(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||this.content));if(typeof module!=="undefined"&&module!==null){module.exports=saveAs}else if((typeof define!=="undefined"&&define!==null)&&(define.amd!=null)){define([],function(){return saveAs})}String.prototype.endsWithAny=function(){var strArray=Array.prototype.slice.call(arguments),$this=this.toLowerCase().toString();for(var i=0;i<strArray.length;i+=1){if($this.indexOf(strArray[i],$this.length-strArray[i].length)!==-1){return true}}return false};var saveTextAs=saveTextAs||(function(textContent,fileName,charset){fileName=fileName||'download.txt';charset=charset||'utf-8';textContent=(textContent||'').replace(/\r?\n/g,"\r\n");if(saveAs&&Blob){var blob=new Blob([textContent],{type:"text/plain;charset="+charset});saveAs(blob,fileName);return true}else{var saveTxtWindow=window.frames.saveTxtWindow;if(!saveTxtWindow){saveTxtWindow=document.createElement('iframe');saveTxtWindow.id='saveTxtWindow';saveTxtWindow.style.display='none';document.body.insertBefore(saveTxtWindow,null);saveTxtWindow=window.frames.saveTxtWindow;if(!saveTxtWindow){saveTxtWindow=window.open('','_temp','width=100,height=100');if(!saveTxtWindow){window.alert('Sorry, download file could not be created.');return false}}}var doc=saveTxtWindow.document;doc.open('text/html','replace');doc.charset=charset;if(fileName.endsWithAny('.htm','.html')){doc.close();doc.body.innerHTML='\r\n'+textContent+'\r\n'}else{if(!fileName.endsWithAny('.txt')){fileName+='.txt'}doc.write(textContent);doc.close()}var retValue=doc.execCommand('SaveAs',null,fileName);saveTxtWindow.close();return retValue}});
  3.    var area = document.getElementById('tekstzacuvanje');
  4.    var link = document.getElementById('sacuvaj');
  5.  
  6.     link.addEventListener('click', function(e) {
  7.         e.preventDefault();
  8.         var naziv = prompt("Unesite naziv fajla:", "Tekst");
  9.         saveTextAs(area.value, naziv + '.txt');
  10.     }, false);
  11. })();
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 08.06.2018-21:12 od strane Davež Elmer. ↑  ↓

#8 09.06.2018-12:36
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,737


Subject: Re: Save dijalog uz pomoć JavaScripta
obicno se rjesenje krije tu negdje blizu.
http://icentar.ba/...&id=15254
DownloadIzvorni kod (HTML):
  1. <script language="javascript" type="text/javascript">
  2. function save(b){
  3. var fajl=document.getElementById('file').value;
  4. document.execCommand("SaveAs",true,fajl);
  5. }
  6. <TITLE>Open dialog box</TITLE>
  7. </HEAD>
  8. <form method="post" action="">
  9. <table width="95%" border="0" align="center">
  10.     <tr>
  11.         <td width="76%">
  12.             <input type="file" name="file" enctype = "multipart/form-data">
  13.             <button onclick="save(0);">Save</button>
  14.         </td>
  15.     </tr>
  16. </form>
  17. </BODY>
  18. </HTML>

Pozdrav
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 09.06.2018-15:03 od strane zxz. ↑  ↓

Stranice (1): 1


All times are GMT +01:00. Current time: 16.08.2018-08:47.