2011-11-23 62 views
0

我想要一個代碼,當單擊超鏈接時,它將動態更改iframe標記的來源,例如,我有一個母版頁應該使用iframe從其他網頁加載內容當超鏈接被點擊時標記,但我不知道如何去做。這裏是我的代碼腳本動態更改iframe標記的來源

<html> 
    <head> 
    <title> 
    </title> 

    <style type="text/css"> 
     #content { 
     margin-right:30%; 
     margin-bottom: 10px; 
     padding: 10px; 
     border: 1px solid #000; 
     margin-left: 17%; 
     background-repeat: no-repeat; 
     width: 686; 
     height: 640; 
     } 
    </style> 

    <script type="text/javascript"> 

     function hyperlinkChanger(hyperLink) 
     { 

     switch (hyperLink) 
     { 

      case "home": 
      var url="home.html"; 
      return url; 
      break; 

      case "about_Us": 
      var url="about_us.html"; 
      return url; 

      break; 

      case "contact_Us: 
      var url="contact_us.html"; 
      return url; 

      break; 
     } 
     } 
    </script> 
    </head> 
    <body> 
    <a href="home.html" name="home" onClick="hyperlinkChanger('home')">Home</a> 
    <br /> 
    <a href="about_us.html" name="about_Us" onClick="hyperlinkChanger('about_Us')">About Us</a> 
    <br /> 
    <a href="contact_us.html" name="contact_Us" onClick="hyperlinkChanger('contact_Us')">Contact us</a> 
    <br /> 

    <div name="content"> 
     <!--please help me write a method to call the output of the funcion hyperlinkChanger--> 
     <iframe src="hyprlink function" width="600" height="300"> 
     </iframe> 
    </div> 
    </body> 
</html> 

回答

0

三世的javascript:

<html> 
<body> 
    <iframe id="foo"></iframe> 
    <a href="http://stackoverflow.com/questions/8240078/script-to-dynamically-change-the-source-of-an-iframe-tag" target="foo">This page</a> 
</body> 
</html> 

您可以針對本地或外部鏈接。注意,在這個例子中,運行在Stack Overflow上的JavaScript檢測到它的頁面正在加載到一個iframe中,並向用戶發出通知。有些網站沒有做一些。甚至有技術可以檢測您的頁面是否正在加載到iframe中,並直接將父頁面重定向到您的站點。如果你只是在加載自己的頁面,那麼你不必擔心這一點。

+0

這是一個動態頁面。當單擊鏈接時,我想讓一個主頁面在iframe中顯示其他頁面。 – sammyukavi

+0

好的,然後只需更新錨點的href。這是你所要做的。 – Geuis

+0

那就是我不知道如何在JavaScript – sammyukavi

0

首先爲什麼要用JAVASCRIPT? 您可以在a元素上使用target-attribute!

但是,如果你必須使用javascript做這樣的事情: declare var url ='';在switch語句之前 刪除你返回的開關case 在switch語句之後加上:$('iframe')。attr('src',url);

+0

究竟如何?我沒有明白。 – sammyukavi

+0

爲什麼投票反對?只需給iframe一個id,然後像這樣構造a元素:'open google in iframe with id [iframe-id]'只需用您選擇的名稱替換[iframe-id] –