1

问题:

我正在设计一个在所有页面上使用相同侧边栏的网站,因此我将侧边栏放在 iFrame 中以便以后编辑...但是在每个页面上,我希望 iFrame 中的当前页面链接为粗体...请您帮忙提供一个 JavaScript 语句或函数来解决这个问题。

我目前的代码如下:

HTML(主网页):

<!DOCTYPE html>
 <html>
  <head>
   <title>Example Page</title>
   <script type="text/javascript">
    var currentTag = function(tag){
     var currentPage = document.frames['tag_list'].document.getElementById(tag+'_tag-list'); currentPage.style.fontWeight = "bold";
    };
    currentTag("home")
   </script>
  </head>
  <body>
   <header>
    <!--All header code-->
   </header>
   <!--Sidebar (Problem)-->
   <iframe src="myframe.html" scrolling="no" id="tag_list">Your browser does not support the "iframe" element, please update...</iframe>
   <div id="content">
    <!--All content-->
   </div>
   <footer>
    <!--All footer code-->
   </footer>
  </body>
 </html>

HTML (iFrame):

<!DOCTYPE html>
<html>
 <head>
  <title>Sidebar Frame</title>
 </head>
 <body>
  <div id="tag_list">
   <h2>Pages</h2>
   <ul>
    <li><a href="#"><span id="home_tag-list">Homepage</span></a></li>
    <!--And all the other pages-->
   </ul>
  </div>
 </body>
</html>

非常感谢您的帮助:D

4

2 回答 2

2

iframe 中的任何内容都可以通过访问 iframe 的contentWindow属性来访问,但前提是 iframe 的内容来自与父窗口相同的来源。

一旦你在contentWindow,像往常一样访问元素 ( document.getElementBy...)

于 2012-07-27T19:06:29.747 回答
-1

不要使用 iframe。永远(除非真的没有其他选择)。在您的情况下,服务器端包含或使用PHP 包含(或其他一些编程语言来包含侧边栏是一个更好的选择。

使用这些选项中的任何一个都可以解决您的 CSS 问题,并使您的网站对搜索引擎更加友好。

于 2012-07-27T19:09:44.277 回答