在html页面中显示文件内容会产生空字段

时间:2018-05-08 14:22:39

标签: javascript python html flask frontend

我正在构建一个Web应用程序,它将搜索我的.feature文件(这是常规文本文件)并显示其路径以及内容。我正在使用Python和Flask。我在网上搜索了显示文件内容的方法,正如你从源头上看到的,我发现了5种方法。但是结束html页面将文件内容呈现为空框。我知道文件路径是正确的,因为当我进入一个乱码路径时,我收到了这个元素的“未找到”。我怀疑这是一个安全问题。 模板的源代码:

<html>
<head>
    <title>Available scenarios</title>
    <link rel="stylesheet" href="/static/css/styles.css">
</head>
<body>
    <!--<h1>Available scenarios:</h1>-->
    <input type="text" id="myInput" onkeyup="myFunction()" placeholder="Search for names.." title="Type in a name">
    <form id="scenarios_form" action="/run_tests.html" method="post">
        <input type="submit" value="Run">
    <table id="myTable">
        <tr class="clickable"><td colspan="2">Available scenarios:</td></tr>
    {% for scenario in scenarios %}
            <tr><td><label><input name="selected_features" type="checkbox" value="{{ scenario }}"> {{ scenario }}</label></td></tr>
            <tr><td><embed src="{{ scenario }}" /></td></tr>
            <!--<tr><td><a href="file:///{{ scenario }}">Link</a></td></tr>-->
            <!--<tr><td><object data="{{ scenario }}"></object></td></tr>-->
            <!--<tr><td><iframe src="{{ scenario }}"></iframe></td></tr>-->
            <!--<tr><td><a href="{{ scenario }}" target="_blank">Click To View</a></td></tr>-->
    {% endfor %}
    </table>
    </form>
<script>
    function myFunction() {
      var input, filter, table, tr, td, i;
      input = document.getElementById("myInput");
      filter = input.value.toUpperCase();
      table = document.getElementById("myTable");
      tr = table.getElementsByTagName("tr");
      for (i = 0; i < tr.length; i++) {
        td = tr[i].getElementsByTagName("td")[0];
        if (td) {
          if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {
            tr[i].style.display = "";
          } else {
            tr[i].style.display = "none";
          }
        }
      }
    }
</script>
</body>

有没有办法 工作或我需要在后端做所有事情并将文本发送到模板? 每个浏览器的行为都是一致的,控制台中没有错误。

0 个答案:

没有答案