Отменить навигацию по кадру?

Скажем, у меня есть набор фреймов с фреймом, куда загружается Google. Я хочу запретить Google перемещаться в любом месте, когда пользователь нажимает на ссылку или кнопку. Это возможно?

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 вместо набора фреймов), это создать элемент div с позицией aboslute на родительской странице (тот, который содержит IFRAME) с непрозрачностью и сделать так, чтобы он покрывал IFRAME в таким образом, пользователь вообще не сможет взаимодействовать со страницей Google, отображаемой в IFRAME.

Другие вопросы по тегам