取消框架上的导航?

发布于 2024-09-16 13:33:06 字数 72 浏览 10 评论 0原文

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

Say I have a frameset with a frame where Google is loaded. I want to prevent Google from navigating anywhere when the user click on a link or a button. Is this possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

请帮我爱他 2024-09-23 13:33:06

我认为这是不可能的。
我想到的唯一方法是在父框架集中使用简单的 Javascript 代码来检测包含 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 的页面)中创建一个不透明的位置绝对 div 元素,并使其覆盖 IFRAME,这样用户就赢得了胜利根本无法与 IFRAME 中显示的 Google 页面进行交互。

I don't think it's possible.
The only way that comes into my mind is to use a simple Javascript code in the parent frameset to detect when the child frame containing Google Home Page has been reloaded because user pressed a link in it, and then force the child frame to reload again the Google Home Page. Something like:

<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>

This does not prevent user to click on links and display for a while the page where they navigated too, but suddenly they will be brought back to Google HOME PAGE.

Another possible solution (if you were using IFRAME in a page to show Google instead of a frameset) is to create a position aboslute div element in the parent page (the one that contains the IFRAME) with opacity and make it cover the IFRAME, in this way user won't be able to interact at all with the Google page displaied in the IFRAME.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文