我正在构建一个带有几个模态对话框的小应用程序。窗口需要一点点HTML。我已经在JavaScript库中硬编码了窗口HTML,但对此解决方案并不满意。是否有更优雅的方法来解决这个问题?似乎JavaScript没有多行字符串/HereDoc语法。
var html = "<div id='email_window'><h2>Email Share</h2><div>";
html = html + "<form action='javascript:emailDone();' method='post'>";
html = html + "<div><label for='to'>To</label><input id='to' type='text'></div>";
html = html + "<div><label for='from'>From</label><input id='from' type='text' value='" + email + "'></div>";
html = html + "<div><label for='subject'>Subject</label><input id='subject' type='text' disabled='disabled' value='" + subject + "'></div>";
html = html + "<div><label for='body'>Body</label><input id='body' type='text' disabled='disabled' value='" + body + "'></div>";
html = html + "<div><input type='submit' value='Send'><input type='button' value='Cancel' onClick='javascript:$.fancybox.close();'></div>";
html = html + "</form></div>";
$("#data").html(html);
澄清原始信息所添加-
任何解决方案都不能使用Ajax / XHR来拉取模板文件,因为Javascript库将位于不同的域中,而包含它的HTML文件会在其中。这有点像ShareThis。该库将被包含在许多不同的网站上,并附加到具有属性sharetool ="true"的div内的任何锚标记的onClick事件。
例如:
http://www.bar.com - index.html
<html>
...
<script type="text/javascript" src="http://www.foo.com/sharetool.js"></script>
...
<body>
<div sharetool="true">
</div>
...
</html>