取消框架导航?

时间:2010-09-01 18:34:34

标签: javascript iframe hyperlink frameset frameset-iframe

假设我有一个带有Google加载框架的框架集。当用户点击链接或按钮时,我想阻止Google在任何地方导航。这可能吗?

1 个答案:

答案 0 :(得分:1)

我不认为这是可能的。 我想到的唯一方法是在父框架集中使用一个简单的Javascript代码来检测包含Google主页的子框架何时被重新加载,因为用户按下了其中的链接,然后强制子框架再次重新加载Google主页。类似的东西:

<script type="text/javascript">
   var flag_1st_time_call = true;
   function ReloadGoogleHome()
   {
      if(!flag_1st_time_call)
      {
         document.getElementById('myframe').src = "http://www.google.com";
      /* I'm not sure you can get frame with document.getElementById (I'm 
         more confortbale with IFRAMEs) anyway I think you understood the example */
      }
      flag_1st_time_call = false;
   }
</script>

<frame src="http://www.google.com" id="myframe" onload="ReloadGoogleHome();"></frame>

这不会阻止用户点击链接并显示他们导航过的页面一段时间,但突然他们将被带回Google主页。

另一种可能的解决方案(如果您在页面中使用IFRAME来显示Google而不是框架集)是在父页面(包含IFRAME的那个)中使用不透明度创建一个位置aboslute div元素并使其覆盖IFRAME,以这种方式,用户将无法与IFRAME中显示的Google页面进行互动