2011-11-23 29 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] –