| Autor | Zpráva | ||
|---|---|---|---|
| esonyx Profil * |
#1 · Zasláno: 28. 3. 2011, 19:04:37
Dobrý den, ahoj
Začal jsem si hrát s následujícím scriptem (funguje pouze ve FF): <html>
<head>
<style>
#editor {
border: 1px solid black;
height: 250px;
margin: 15px;
padding: 10px;
overflow: scroll;
}
</style>
<script type="text/javascript">
function load() {
var finput = document.getElementById("data");
var editor = document.getElementById("editor");
var f = finput.files[0];
if (f) {
var r = new FileReader();
r.onload = function(e) { editor.innerHTML = e.target.result }
r.readAsText(f);
} else { editor.innerHTML = "Failed to load file" }
}
function format(c) { document.execCommand(c, false, false); }
</script>
</head>
<body>
<h3>HTML File Reader Test</h3>
<p>Select a file:
<input type="file" id="data" />
<a href="#" onclick="load()">Load</a>
</p>
<p>
<a href="#" onclick="format('bold')">Bold</a>
<a href="#" onclick="format('italic')">Italic</a>
<a href="#" onclick="format('underline')">Underline</a>
</p>
<div id="editor" contentEditable="true"></div>
</body>
</html> Chtěl bych se zeptat, zda-li znáte nějakou možnost v JS, načtení pouze 30 prvních znaků v souboru (něco jako v php "fread($file,30)"). Zatím se mi povedlo načíst celý soubor a oříznout, ale při velikosti souboru 500MB je to velice neefektivní a hlavně pomalé, když potřebuji získat pouze hlavičku souboru. Předem děkuji za všechny rady :) |
||
| Darker Profil |
#2 · Zasláno: 29. 3. 2011, 09:40:35 · Upravil/a: Darker
Tady objektu načítače souboru přiřazují eventy, a mohou zobrazovat průběh.
A je tu funkce abort, která načítání zruší. Takže co třeba
reader.onprogress = function(event)
{
if (event.lengthComputable)
{
var loaded = (event.loaded / event.total);
/*document.getElementById('pBar').style.width = (loaded * 200) + "px";*/
if(loaded>/*neco*/) reader.abort();
}
};
|
||
|
Časová prodleva: 15 let
|
|||
0