使用PHP/HTML文件作为模板的Javascript
我正在使用GoogleMapsAPIv3创建一个地图应用程序,其中一个部分是呈现信息窗口的HTML布局。 目前,我必须在main map.js文件中创建一个长变量,如果不破坏主应用程序,它会很混乱,很难编辑,对任何没有编写它的人来说都是一场噩梦 这就是目前的情况:使用PHP/HTML文件作为模板的Javascript,php,javascript,html,variables,google-maps-api-3,Php,Javascript,Html,Variables,Google Maps Api 3,我正在使用GoogleMapsAPIv3创建一个地图应用程序,其中一个部分是呈现信息窗口的HTML布局。 目前,我必须在main map.js文件中创建一个长变量,如果不破坏主应用程序,它会很混乱,很难编辑,对任何没有编写它的人来说都是一场噩梦 这就是目前的情况: var html = "<div class=loc-one><div class=loc-name>" + name + "</div><hr class=loc-name-hr>&l
var html = "<div class=loc-one><div class=loc-name>" + name + "</div><hr class=loc-name-hr></div> <br/><div class=loc-two><div class=loc-two-l><div class=loc-add>" + address1 + "<br/>" + address2 + "<br/>" + address3 +"</div></div><div class=loc-two-r><div class=loc-type><strong>" + type + "</strong></div><div class=loc-price>Price Rating: " + price + "</div></div></div><hr class=loc-name-hr><div class=loc-three><div class=loc-three-times-head><img src=http://sandbox.tristanbacon.me/citymap/img/ui/ui_times.png /><span class=times-head-title>Opening Times</span></div><div class=loc-three-times>" + times + "</div></div><hr class=loc-name-hr><div class=loc-four><li><div class=loc-sec-img><a href=# onclick=TINY.box.show({image:'http://sandbox.tristanbacon.me/citymap/img/" + img_day + "',boxid:'frameless',animate:true,openjs:function(){openJS()}})><img src=http://sandbox.tristanbacon.me/citymap/img/ui/ui_img.png /><span class=loc-four-view>View Image</span></a></div></li></div>";
var html=“”+name+”
“+address1+”
“+address2+”
“+address3+”“+type+”价格评级:“+Price+”
开盘时间“+Times+”
”;
正如您将看到的,我甚至不能在JS文件中展开它,因为它会破坏代码。
理想情况下,我希望它看起来像这样:
<html>
<div class=loc-one>
<div class=loc-name>
"+ name +"
</div>
<hr class=loc-name-hr>
</div>
<br/>
<div class=loc-two>
<div class=loc-two-l>
<div class=loc-add>
" + address1 + "
<br/>
" + address2 + "
<br/>
" + address3 + "
</div>
</div>
<div class=loc-two-r>
<div class=loc-type>
<strong>" + type + "</strong>
</div>
<div class=loc-price>
Price Rating: " + price + "
</div>
</div>
</div>
<hr class=loc-name-hr>
<div class=loc-three>
<div class=loc-three-times-head>
<img src=http://sandbox.tristanbacon.me/citymap/img/ui/ui_times.png />
<span class=times-head-title>Opening Times</span>
</div>
<div class=loc-three-times>
" + times + "
</div>
</div>
<hr class=loc-name-hr>
<div class=loc-four>
<li>
<div class=loc-sec-img>
<a href=# onclick=TINY.box.show({image:'http://sandbox.tristanbacon.me/citymap/img/" + img_day + "',boxid:'frameless',animate:true,openjs:function(){openJS()}})><img src=http://sandbox.tristanbacon.me/citymap/img/ui/ui_img.png />
<span class=loc-four-view>View Image</span>
</a>
</div>
</li>
</div>
</html>
“+name+”
“+地址1+”
“+地址2+”
“+地址3+”
“+类型+”
价格评级:“+价格+”
开放时间
“+次+”
它在实际文件中看起来更干净,因为我必须为Stackoverflow编码布局格式化它。
不过我相信你已经明白了要点
我希望有一个类似上面的template.html(或.php?)文件。是否可以通过此HTML文件传递变量,从map.js文件链接到HTML文件(如第一次预览),然后在实际网站上正常显示
我希望我已经解释清楚了
谢谢我认为您最好使用一个适当(但简单)的模板框架。看一看。使用它,你就可以在20分钟内启动并运行。他们使用的技巧不是在javascript变量中定义模板,而是在具有特殊类型属性的脚本块中定义模板,并让模板机制解析脚本块。不要试图自己构建模板,你会很快把自己画进一个角落。(至少我有:)你当然可以在JS中“展开”一个字符串:
var html = "<html>" +
"<div class=loc-one>" +
"<div class=loc-name>" +
name +
"</div>" +
"<hr class=loc-name-hr>" +
... etc
var html=”“+
"" +
"" +
名字+
"" +
“
”+
... 等
您也可以尝试这种方法,但这种方法并不普遍受支持:
var html = "<html> \
<div class=loc-one>\
<div class=loc-name>\
"+ name +"
</div>\
<hr class=loc-name-hr>\
... etc
var html=”\
\
\
“+name+”
\
\
等
请参阅前面的问题:您不应该在JS中生成这样的HTML,否则您将遇到类似的问题。您不能使用PHP呈现视图和JS吗?有许多免费的PHP模板引擎可用。将页面构建为字符串是疯狂的。这就是为什么我要更改它!这是默认的m根据API文档,用于显示的方法。如果你问我,这真是一个巨大的痛苦,我甚至不是一个程序员!这看起来真的很有用-我会尝试一下。谢谢:)太好了。如果它对你有效,请确保将答案标记为正确答案,以便其他人也能从中受益。愉快的编码。