[英]External Reference of a Javascript file in IE
我正在为老师开发一个网站,因为她有可能想在以后添加更多,我决定让每个页面上出现的链接都是用Javascript写的,这样所有的页面都可以快速更改。
HTML代码用于外部参考:
<script type="text/javascript" language="javascript" src="links.js"></script>
Javascript看起来像这样:
document.write(<div id="wrapper">
<div id="header">
<ul>
<li><a href="home.html">Home </a></li>
<li><a href="catering-home.html">Catering </a></li>
<li><a href="prostart-home.html">ProStart </a></li>
<li><a href="recipes.html">Recipes</a></li>
</ul>
</div>
</div>)
这在firefox中完全加载,但是用javascript编写的页面部分不会在IE中加载。 它是如何编写代码或阻止IE加载它的引用?
你需要这样的报价:
document.write('<div id="wrapper">'+
'<div id="header">'+
'<ul>'+
'<li><a href="home.html">Home </a></li>' +
'<li><a href="catering-home.html">Catering </a></li>' +
'<li><a href="prostart-home.html">ProStart </a></li>' +
'<li><a href="recipes.html">Recipes</a></li>' +
'</ul>' +
'</div>' +
'</div>');
但是,如果它只是在HTML文件中输出,那将会更加清晰。 我想如果Javascript来自外部域,由老师控制,这就是这样做的一个原因。
您的报价未正确转义。 试试这样:
document.write("<div id=\"wrapper\"><div id=\"header\"><ul><li><a href=\"home.html\">Home </a></li><li><a href=\"catering-home.html\">Catering </a></li><li><a href=\"prostart-home.html\">ProStart </a></li><li><a href=\"recipes.html\">Recipes</a></li></ul></div></div>");
将链接放在单独的HTML文件中,并将其包含在所有页面上。 所有主要的Web服务器都支持此功 例如:
<?php include('links.html'); ?>
<?php include('links.html'); ?>
<!--#include virtual="/links.html" -->
我建议为你维护的链接制作数组,然后将其放入如下函数中:
var links=[
['home.html','Home'],
['catering-home.html','Catering'],
['prostart-home.html','Prostart'],
['recipes.html','Recipes']
];
document.write('<div id="wrapper">
<div id="header">;
<ul>');
var items=links.length;
for(var i=0;i<items;i++){
document.write('<li><a href="'+links[i][0]+'">'+links[i][1]+'</a></li>');
}
document.write('</ul>
</div>
</div>');
这在PHP等服务器端代码中比Javascript更有意义,实际上,这种方法大致相同。 这种风格是一个很好的一步,使一个网站从数据库中读取项目,然后用这样的功能打印出来。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.