IE中Javascript文件的外部引用

IE中Javascript文件的外部引用,javascript,internet-explorer,reference,external,Javascript,Internet Explorer,Reference,External,我正在为一名教师制作一个网站, 因为她以后可能想添加更多内容,所以我决定使用Javascript编写每个页面上出现的链接,以便所有页面都可以快速更改 HTML代码具有以下外部参考: <script type="text/javascript" language="javascript" src="links.js"></script> Javascript如下所示: document.write(<div id="wrapper"> <div id

我正在为一名教师制作一个网站, 因为她以后可能想添加更多内容,所以我决定使用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>)
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>");
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>');
document.write(
)

这在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>)
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>");
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>');
文件。写(“
    • ”);
您的报价没有正确转义。试着这样做:

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>)
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>");
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>');
文件。写(“
    • ”);
您需要在其周围加上如下引号:

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>)
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>");
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>');
document.write(“”+
''+
“
    ”+ “
  • ”+ “
  • ”+ “
  • ”+ “
  • ”+ “
”+ '' + '');

但是,如果只是在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>)
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>");
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>');
document.write(“”+
''+
“
    ”+ “
  • ”+ “
  • ”+ “
  • ”+ “
  • ”+ “
”+ '' + '');

但是,如果只是在HTML文件中输出,则会更干净。我想如果Javascript来自老师控制下的外部域,这就是这样做的原因之一。

将链接放在单独的HTML文件中,并将其包含在所有页面上。所有主要的web服务器都支持这一点。例如:

  • 如果你有PHP,它可能是
  • 如果您有Apache,它可能是

将链接放在单独的HTML文件中,并将其包含在所有页面中。所有主要的web服务器都支持这一点。例如:

  • 如果你有PHP,它可能是
  • 如果您有Apache,它可能是

我建议为您维护的链接制作一个数组,然后将其放入如下函数中:

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>');
var链接=[
['home.html','home'],
['catering-home.html','catering'],
['prostart-home.html','prostart'],
['recipes.html','recipes']
];
文件。写('
;
),;
变量项=links.length;

对于(var i=0;i我建议为您维护的链接创建一个数组,然后将其放入如下函数中:

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>');
var链接=[
['home.html','home'],
['catering-home.html','catering'],
['prostart-home.html','prostart'],
['recipes.html','recipes']
];
文件。写('
;
),;
变量项=links.length;

对于(var i=0;i如何“更容易”更改链接?更改HTML比更改动态编写HTML的javascript更容易。这是一个糟糕的设计,不应该被允许。(我和同事花了将近一年的时间清理asp编写javascript编写HTML的代码)。请重新考虑。正如我在下面的回答中提到的,这样做的一个原因是如果Javascript来自外部域,尽管“links.js”表明它不是。我很难相信这“在firefox中完全加载”。这“更容易”吗更改链接?更改HTML比更改动态编写HTML的javascript更容易。这是一个糟糕的设计,不应该被允许。(我的同事和我花了将近一年的时间清理asp编写javascript编写HTML的代码)。请重新考虑。正如我在下面的回答中提到的,这样做的一个原因是如果Javascript来自外部域,尽管“links.js”表明它不是。我很难相信这“在firefox中完全加载”。我给你一个+1,专门用于“然而”答案的一部分。从技术上讲,答案的其余部分也很好。我只是认为不应该鼓励@Garrett学习这门课程。我给你一个+1,专门针对“然而”答案的一部分。从技术上讲,答案的其余部分也很好。我只是不认为@Garrett应该被鼓励学习这门课程。或者你可以在AJAX调用中包含它。jQuery让它变得非常简单。或者你可以在AJAX调用中包含它。jQuery让它变得非常简单。