2016-11-21 316 views
0

我正在使用ESP8266,这是该程序的HTML部分。我从互联网的深处复制并粘贴,并希望更改文件的HTML页面。我能以什么格式添加html代码?谢谢! (我试图把一个文本输入字段,但我想在后面放很多HTML元素)。将ESP8266 html页面代码集成到.ino文件中

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/>"; 
+0

您想要将所有这些字符串写入目标文件。 ''不是HTML网页中的有效第一行。 ''块在网页的底部结束,而不是在''块结束后立即'通常'结束。除了发布内容之外,''块还需要其他一些内容。发布的代码缺少''区块,这是引用应该位于的区域。建议编写所需的HTML页面,然后插入所有需要的语句以将其保存到文件中 - 或者 - 将其显示在Web浏览器中。 – user3629249

回答

0

我认为你以后有部分地方你结合你的变量,并使一个大的,你用来解散HTML。你可以做这样的事情。

- 打开编辑器,并从您的文章复制/粘贴代码

- 编辑它,只要你想

代码 - 删除变量,您张贴,并与更换,例如

const String wholePage = "INSERT YOUR HTML"; 

- 比在线添加变量之前,只需使用新的地方,整个HTML代码

希望它有帮助! :)

+0

谢谢你,这使得waaaayyy现在更有意义!有没有一种方法可以将输入的信息输入到html中的

文本字段中,并将其保存到eeprom并通过在同一文本字段中输入密码将其显示在网页上? –

1

哟可以从SPIFFS流式传输HTML文件。下面是一个example

你需要得到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; 
    } 
+0

我可以将中输入的信息保存为eeprom,并有一些稍后查看的方法 –

+0

本示例演示了文件服务方式,它将帮助您获得可读的html文件。如果你想保存通过这个页面传入你的web服务器的请求,当然你可以保存它,但是在另一个文件中。要做到这一点,你可以按照[指南](https://github.com/esp8266/Arduino/blob/master/doc/filesystem.md)。 – cagdas

+0

有没有一种方法可以在此代码snippit中使用SPIFFS.open(path,mode)代替responseHTML:dnsServer.start(DNS_PORT,“*”,apIP); (), //使用相同的HTML回放所有请求webServer.onNotFound([](){ webServer.send(200,“text/html”,responseHTML); }); webServer。开始(); } –

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 

您还可以使用任何在线文本到json编码器从任意文本中制作C友好的转义字符串文字。例如:my slim's "JSON.stringify"引擎转换...