javascript拒绝在头/外部文件中工作

时间:2016-12-22 13:47:56

标签: javascript external filereader head

我使用以下代码在上传之前预览图片。代码正常运行,但我想将脚本存储在外部文件中,或者至少在 html-head 中。我无法弄清楚如何做到这一点。我认为我的问题在于这一部分,但我根本不确定:

reader.onload = (function(theFile) {...

帮助将不胜感激:)

这是html:

<!doctype html>
<html>
<head>

<style>
    .thumb {
            height: 75px;
            border: 1px solid #000;
            margin: 10px 5px 0 0;
    }
</style>

</head>


<body>

<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>

<script>


    function handleFileSelect(evt) {
            var files = evt.target.files;


            for (var i = 0, f; f = files[i]; i++) {

                if (!f.type.match('image.*')) {
                    continue;
                }

                var reader = new FileReader();

                document.getElementById('list').innerHTML = "";


                //the problem might be caused by this ".onload" ?
                reader.onload = (function(theFile) {

                    return function(e) {

                        var span = document.createElement('span');

                        span.innerHTML = ['<img class="thumb" src="', e.target.result,
                                   '" title="', escape(theFile.name), '"/><input type="text" name="', escape(theFile.name), '-title" placeholder="title" /><input type="text" name="', escape(theFile.name), '-description" placeholder="description" />'].join('');

                        document.getElementById('list').insertBefore(span, null);
                    };
                })(f);

            reader.readAsDataURL(f);
            }
    }

    document.getElementById('files').addEventListener('change', handleFileSelect, false);


</script>

</body>

</html>

1 个答案:

答案 0 :(得分:0)

第1步:

您只需要创建一个新文件,例如。 &#34; extJsFile.js&#34;

第2步:

将内容放在问题代码的代码之间(为了简单起见,我不会重复相同的代码),然后在html文件的代码之间写一行。(假设 - 您将js和html放在项目的同一目录中)

PS:你在询问问题之前至少应该谷歌,无论如何继续使用你的代码......