0

我使用的是 ESP8266,这是程序的 HTML 部分。我从互联网深处复制并粘贴,并想更改文件的 HTML 页面。我可以以什么格式添加html代码?谢谢!(我试图放入一个文本输入字段,但我想稍后放入许多 HTML 元素)。

const String HtmlHtml = "<html><head>" 
"<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" /></head>";`
const String HtmlHtmlClose = "</html>";
const String HtmlTitle = "<h1>Arduino-er: ESP8266 AP WebServer exercise</h1><br/>\n";
const String HtmlLedStateLow = "<big>LED is now <b>ON</b></big><br/>\n";
const String HtmlLedStateHigh = "<big>LED is now <b>OFF</b></big><br/>\n";
const String HtmlButtons = 
"<a href=\"LEDOn\"><button style=\"display: block; width: 100%;\">ON</button></a><br/>" 
"<a href=\"LEDOff\"><button style=\"display: block; width: 100%;\">OFF</button></a><br/>";
4

3 回答 3

1

我假设您稍后会在其中组合变量并制作一个用于显示 html 的大文件。你可以做这样的事情。

- 打开您的编辑器并从您的帖子中复制/粘贴代码

- 根据需要编辑它

- 删除您发布的代码中的变量并替换为一个,例如

  const String wholePage = "INSERT YOUR HTML";

- 而不是在你添加变量之前使用你的新的地方是整个 HTML 代码

希望能帮助到你!:)

于 2016-11-21T05:41:39.290 回答
1

你可以从 SPIFFS 流式传输 HTML 文件。这是一个例子

您需要获取如下所示的streamFile()函数:

  String contentType = "text/html";
  if(SPIFFS.exists(path)){
    File file = SPIFFS.open(path, "r");
    size_t sent = server.streamFile(file, contentType);
    file.close();
    return true;
  }
于 2016-11-21T06:27:15.217 回答
0

您可能需要考虑清理它以使用未转义的多行语法:

void handleAbout() {
    const char* message = R"foo(
    <!doctype html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>test</title>
     <link rel=stylesheet type=text/css href='//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css' />
    </head><body class=container>
    <h1>testing</h1>
    <main>
     <h3>Status</h3>
      <ul>
      <li>Mode: <b>[[MODE]]</b>
       <li><a href=/reset >reboot device</a>
      </ul>
    </main>
    </body>
    </html>
    )foo";

    String message2= String(message);
    // templating replaces string-concat functionality:
    message2.replace("[[MODE]]", String(inputMode));
    // prove it's a usable String to the esp:
    server.send(200, "text/html", message2);
} // end about section handler

您还可以使用任何在线 text-to-json 编码器从任意文本中生成 C 友好的转义字符串文字。例如:我的苗条的“JSON.stringify”引擎转换......

于 2016-11-24T07:34:28.337 回答