如何在chrome app中使用input type =“file”事件处理程序

时间:2014-01-22 10:48:05

标签: javascript html google-chrome input google-chrome-app

我希望能够通过Chrome应用中的输入类型=“文件”打开文件。 以下代码产生错误:

  

拒绝执行内联事件处理程序,因为它违反了   遵循内容安全策略指令

<html>
<head>
    <title></title>
</head>
<body>
    <input type="file" onchange="btnClick(event)" />

    <script>
        function btnClick(evt) {
            var fileReader = new FileReader();
            fileReader.onload = function (event) {
                var str = event.target.result;
                console.log(str);
            }
            fileReader.readAsText(event.target.files[0]);
        }
    </script>

</body>
</html>

我该怎么做才能解决它?

1 个答案:

答案 0 :(得分:3)

内联事件处理程序在chrome应用程序中不起作用,从html中删除事件处理程序并在javascript中实现它。此外,脚本不能在html文件中。它应该在自己的js文件中并在html中引用。记录在案HERE

HTML

<input type="file" id="file1"/>

JS

document.getElementById("file1").addEventListener("change",handleChange);

function handleChange(){
    var fileReader = new FileReader();
        fileReader.onload = function (event) {
            var str = event.target.result;
            console.log(str);
        }
    fileReader.readAsText(event.target.files[0]);    
}

FIDDLE