繁体   English   中英

IE中Javascript文件的外部引用

[英]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,它可能是<?php include('links.html'); ?> <?php include('links.html'); ?>
  • 如果你有Apache,它可能是<!--#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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM