1

問題:

すべてのページで同じサイドバーを使用するサイトを設計しているので、後で簡単に編集できるようにサイドバーをiFrameに配置します...しかし、各ページで、iFrameの現在のページリンクを太字で表示します...これに役立つJavaScriptステートメントまたは関数を手伝っていただけませんか。

私の現在のコードは次のとおりです。

HTML(メインWebページ):

<!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 に答える