假设我有一个这样的列表:
['one','two','three','four','five','six','seven','eight','nine']
Run Code Online (Sandbox Code Playgroud)
我想尝试将这些数据转换为各种维度的HTML表格:
one two three
four five six
seven eight nine
Run Code Online (Sandbox Code Playgroud)
要么
one four seven
two five eight
three six nine
Run Code Online (Sandbox Code Playgroud)
要么
one two three four
five six seven eight
nine
Run Code Online (Sandbox Code Playgroud)
是否有一个库可以处理这个,而不需要做疯狂的列表拼接或嵌套的循环?我的谷歌搜索显示有一些HTML库,但我没有时间浏览每一个,看看他们是否可以很好地处理表.有没有人不得不这样做?如果是这样你是怎么做到的?
Javascript可以操纵浏览器显示的文档,因此以下内容:
<script>
document.write("<table><tr><td>Hola</td><td>Adios</td></tr></table>");
</script>
Run Code Online (Sandbox Code Playgroud)
将使浏览器显示一个表,就像它是原始HTML文档一样:
<table>
<tr>
<td>Hola</td>
<td>Adios</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
有没有办法保存/提供此文档内容?
目前我们使用Ext-js生成一些很好的报告,我想做的是拥有它的"text/html"版本(我的意思是,不需要javascript的东西)
因此,在页面的最后,我将添加一个按钮:"另存为blaba",文档应显示文本/纯文本版本.
我现在能想到的唯一方法是将内容写入javascript变量,如:
var content = document.toString(); // or something magic like that.
// post it to the server
Run Code Online (Sandbox Code Playgroud)
然后将该值发布到服务器,并让服务器显示该值.
<%=request.getParameter("content-text")%>
Run Code Online (Sandbox Code Playgroud)
但看起来很棘手.
还有其他选择吗?
编辑
好的,我几乎得到了它.现在我只需要弹出新窗口,这样选项"你想保存它吗"
这是我到目前为止所得到的
<script>
document.write("<div id='content'><table><tr><td>Hola</td><td>Adios</td></tr></table></div>");
function saveAs(){
var sMarkup = document.getElementById('content').innerHTML;
var oNewDoc = document.open('application/vnd.ms-excel');
oNewDoc.write( sMarkup + "<hr>" );
oNewDoc.close();
}
</script>
<input type="button" value="Save as" onClick="saveAs()"/>
Run Code Online (Sandbox Code Playgroud)
这条线:
var oNewDoc = document.open('application/vnd.ms-excel');
Run Code Online (Sandbox Code Playgroud)
应指定新的内容类型,但它将被忽略.
我正在使用ElementTree生成一些HTML,但我遇到的问题是ElementTree不将文本存储为Node,而是作为text和的tail属性Element.如果我想生成需要多个文本节点的东西,这是一个问题,例如:
<a>text1 <b>text2</b> text3 <b>text4</b> text5</a>
Run Code Online (Sandbox Code Playgroud)
据我所知,没有办法产生这个 - 我错过了什么吗?或者,有没有更好的解决方案在Python中快速简单地生成HTML?
最近,我想到了如何提高Web应用程序的整体性能,而不是从Web服务器生成可立即显示的html页面,为什么不让它在客户端完全生成.这样做,只需要将纯数据(在我的情况下是JSON格式的数据)发送到浏览器.这将把html生成的工作从服务器卸载到客户端的浏览器,并减少发送回用户的响应数据包的大小.
经过一些研究,我发现这个框架(http://beebole-apps.com/pure/)与我的相同.
我想知道的是这样做的利弊.对于Web服务器来说肯定更快更好,并且使用现代浏览器,Javascript代码可以快速运行,因此可以快速完成页面生成.
这种方法的缺点可能是SEO.我不确定像谷歌这样的搜索引擎是否会适当地索引我的网站. 你能告诉我这种方法的缺点是什么吗?
Ps:我还附上了示例代码,以帮助描述方法如下:
在头部,简单的JavaScript代码将写如下:
<script type='javascript' src='html_generator.js'/>
<script>
function onPageLoad(){
htmlGenerate($('#data').val());
}
</script>
Run Code Online (Sandbox Code Playgroud)
在正文中,只存在一个元素,仅用作数据容器,如下所示:
<input type='hidden' id='data' value='{"a": 1, "b": 2, "c": 3}'/>
Run Code Online (Sandbox Code Playgroud)
当浏览器呈现文件时,将调用html_generator.js中的htmlGenerate函数,并在此函数中生成整个html页面.请注意,html_generator.js文件可能很大,因为它包含许多html模板,但由于它可以在浏览器中缓存,因此只会下载一次.
我和我的团队目前正在使用ASP.NET MVC 4,HTML5和PhoneGap为Android和iOS开发应用程序.开发工作完美无缺; 但是,有一个问题仍然没有答案:从我们的MVC解决方案中生成PhoneGap需要的三个文件(一个HTML页面,一个JavaScript文件和一个CSS样式表)的推荐方法是什么?
您会建议使用基于Razor模板的方法吗?或者您只是在每次构建后自动复制输出HTML源代码?或者你会推荐别的东西吗?
我创建了一个带有yaml文件的swagger文档:
api/swagger/swagger.yaml
Run Code Online (Sandbox Code Playgroud)
现在我想与它的定义共享一个静态的html文档,但是在swagger项目中已经说过,他们根本不打算支持html生成.
如何从swagger项目生成静态html文件?
所以,我使用HtmlAgilityPack生成html并且它工作正常,但是html文本没有缩进.我可以得到缩进的XML,但我需要HTML.有办法吗?
HtmlDocument doc = new HtmlDocument();
// gen html
HtmlNode table = doc.CreateElement("table");
table.Attributes.Add("class", "tableClass");
HtmlNode tr = doc.CreateElement("tr");
table.ChildNodes.Append(tr);
HtmlNode td = doc.CreateElement("td");
td.InnerHtml = "—";
tr.ChildNodes.Append(td);
// write text, no indent :(
using(StreamWriter sw = new StreamWriter("table.html"))
{
table.WriteTo(sw);
}
// write xml, nicely indented but it's XML!
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.Indent = true;
settings.ConformanceLevel = ConformanceLevel.Fragment;
using (XmlWriter xw = XmlTextWriter.Create("table.xml", settings))
{
table.WriteTo(xw);
}
Run Code Online (Sandbox Code Playgroud) 我有一个Html页面的模板,我需要在ASP.NET中动态添加其内容.我还需要对模板页面进行多次设置,具体取决于数据.
很明显,使用字符串创建大型Html非常脏.所以我选择使用HtmlGenericControl生成我的Html.而我做到了.但是我无法将生成的Html作为字符串从中获取.
它很容易在ASP.NET页面中添加这些控件并进行渲染,但我需要他们的Html.
如果它不可能,是否有任何其他结构化的方式生成Html ...... ???
我正在攻击一个快速而又脏的python脚本来生成一些报告作为静态html文件.
在Web应用程序的上下文之外轻松构建静态html文件的好模块是什么?
我的目标是简单(HTML不会非常复杂)和易用性(我不想编写大量代码只是为了输出一些html标签).
我在第一次goolge搜索时找到了两个选择:
此外,我觉得使用模板引擎会过度杀死,但如果你不同,请说出来,为什么.
还有其他推荐吗?
python ×3
asp.net ×2
c# ×2
javascript ×2
api-doc ×1
asp.net-mvc ×1
client-side ×1
cordova ×1
document ×1
elementtree ×1
html ×1
html-table ×1
jquery ×1
linux ×1
seo ×1
server-side ×1
swagger ×1