Jump to content
  • 0

top.location и object в IE


DiverTomsk
 Share

Question

Возникла проблема. Т.к. использую стандарт 4.01 Strict, то фреймы использовать не положено. Поэтому использую object

Имеется два файла:

index.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>laala</title>
<META http-equiv="Content-Type" content="text/html; charset=Windows-1251">
</HEAD>
<BODY>
<p>Ниже идет фрейм</p>
<DIV><OBJECT data="frame.html" height='80%' width='100%' type="text/html"></OBJECT></DIV>
</BODY>
</HTML>

frame.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>laala123</title>
<META http-equiv="Content-Type" content="text/html; charset=Windows-1251">
</HEAD>
<BODY>
<p>Это фрейм</p>
<a href='#' onclick='top.location.replace("index.html")'>Кривая ссылка</a>
</BODY>
</HTML>

В Google Chrome если ткнуть на ссылку во фрейме то документ перезагрузится. В кривом IE почему то при клике index.html грузится во внутрь фрейма (в <object>). Как заставить IE менять страницу главного документа, а не фрейма?

Самое забавное что если во фрейм вставить:

<script>
alert(top.location);
</script>

То и в IE и в Chrome выдается index.html, т.е. IE понимает что top это index, а не frame, но при замене адреса IE про это забывает. Что не так у меня в коде?

Edited by DiverTomsk
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0
У вас в index.html p и div не закрыты, в frame.html только p не закрыт - это так задумано?

Да просто выдрал кусок из проекта, часть покоцалось пока удалял лишнее. Код поправил. Но ведь это к проблеме никак не относится:)

Link to comment
Share on other sites

  • 0
А нель зя ли использовать <iframe>?

Да и в HTML 4.01 strict фреймы вроде как не запрещены. И в XHTML 1.0 strict вроде как тоже. Или гоню?

Гоните:) Для фреймов надо использовать DTD HTML 4.01 Frameset или Transitional

Link to comment
Share on other sites

  • 0
Гоните:) Для фреймов надо использовать DTD HTML 4.01 Frameset или Transitional

Это Вы гоните, для iframe не надо frameset DTD.

Доп: Постарайтесь больше не грубить тем, кто дает ответы, и тем более лучше всегда перепроверить себя в интернете, прежде чем постить. Это не нравоучение, так, совет. Могут перестать помогать.

Edited by Justnewone
Link to comment
Share on other sites

  • 0

И правда гоню.

Попробовал создать у себя тестовый файл с <object data="http://mail.google.com" type="text/html"></object> так у меня что-то типа редиректа получилось...

UPD:

Justnewone, а человек и не грубил... и валидатор мне на <iframe> ругнулся чтобы я DTD на frameset или transitional сменил.

Edited by Great Rash
Link to comment
Share on other sites

  • 0

Justnewone, я стараюсь никогда не грубить. Человек спросил гонит ли он, я в его стиле и ответил.

А по проблеме: придется наверное одну страницу в проекте сделать transitional:( Некрасиво как-то, но знаний мне не хватает чтоб проблему решить:)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy