Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Траблы с разными обозревателями (ff&ie) (https://javascript.ru/forum/xhtml-html-css/5024-trably-s-raznymi-obozrevatelyami-ff-ie.html)

vovchok 09.09.2009 15:42

Траблы с разными обозревателями (ff&ie)
 
Здравствуйте всем!
Пытаюсь добиться одинакового отображения в ff3 и ie6 и уже подзадолбался... Вопросы:

1.Как в ie6 убрать справа полосу прокрутки?

2.Как заставить ie6 выполнять transparent для iframe или хотя бы как изменить белый цвет на что-то поприличнее?
(я туда пихаю .jpg файлы для отображения и под каждый .jpg писать .html не хочется, чтобы определить фон, а нужно чтобы за пределами этого .jpg в оставшейся части фрейма виден был фон родительского объекта)

3.Как объяснить ff3 что height="100%" - это высота окна в котором формируется объект, а не то что заканчивается под столом, на котором стоит монитор?
(формирую окно с помощью iframe, размер резиновый, от того что осталось - чтобы тянулся, создаю в нем div с вертикальным скролингом и задаю высоту 100%; в ie6 все путем, а в ff3 height становится больше высоты эрана раза в три и скролинг просто не появляется!)

4.Можно ли научить ie6 правильно отображать .png с прозрачными участками?

Riim 09.09.2009 17:36

Цитата:

Сообщение от vovchok
Как в ie6 убрать справа полосу прокрутки?

overflow

Цитата:

Сообщение от vovchok
Как заставить ie6 выполнять transparent для iframe

никак. ... хм, хотя вроде что-то для этого изобретали ..

Цитата:

Сообщение от vovchok
или хотя бы как изменить белый цвет на что-то поприличнее

backgroundColor

Цитата:

Сообщение от vovchok
Как объяснить ff3 что height="100%" - это высота окна в котором формируется объект, а не то что заканчивается под столом, на котором стоит монитор?

никак, после верстки под ie6 это кажется неудобным, но это как раз правильное поведение.

Цитата:

Сообщение от vovchok
Можно ли научить ie6 правильно отображать .png с прозрачными участками?

pngFix

vovchok 09.09.2009 18:20

1.Убрать справа полосу прокрутки? overflow - Спасибо - помогло. (моя ошибка была в том, что я вместо hidden задавал для этого параметра no)

2.Как изменить белый цвет на что-то поприличнее? backgroundColor -
Не помогает. Если я задаю в шапке backgroundColor:#000, потом даю комманду iframe - окно, которое она образует и куда я впоследствии вывожу картинку окрашено ярким белым цветом в ie6, а в ff3 все ok...

3.Как объяснить ff3 что такое height="100%"? никак, после верстки под ie6 это кажется неудобным, но это как раз правильное поведение. -
Правильно то что окно, для которого запрещен скролинг заканчивается под столом судя по его высоте???
Как же тогда организовать резиновое окно iframe с вертикальными прокрутками для каждой ячейки помещенной внутрь однострочной таблицы, которое одинаково отобразится на разных браузерах?

Riim 09.09.2009 18:57

Цитата:

Сообщение от vovchok
Если я задаю в шапке backgroundColor:#000, потом даю комманду iframe - окно, которое она образует и куда я впоследствии вывожу картинку окрашено ярким белым цветом в ie6, а в ff3 все ok...

Там много где можно ошибиться, но если в ff работает, значит, в данном случае, и в ie заработает, нужно просто потратить на это больше времени.

Цитата:

Сообщение от vovchok
Правильно то что окно, для которого запрещен скролинг заканчивается под столом судя по его высоте???

Да. Почему это удивляет?

Цитата:

Сообщение от vovchok
резиновое окно iframe

Речь, как я понял, про высоту в процентах? Если так, то поздравляю, вы столкнулись с одной из самых острых проблем блочной верстки. Думаю, в случае с iframe, без javascript-а не обойтись.

Цитата:

Сообщение от vovchok
с вертикальными прокрутками для каждой ячейки помещенной внутрь однострочной таблицы

тот же overflow.

vovchok 09.09.2009 20:17

По поводу фона в фрейме - вот пример. IE и FF отображают результат по разному, как победить IE? В окно фрейма я вывожу рисунки, а не .HTML - как задать черный цвет фона в этом случае?

<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html;>
 </head>
 <body bgcolor="#000000"> 
  <iframe width="100%" height="100%"></iframe>
 </body>
</html>


Про скроллинг, я приведу пример попозже - еще не сверстал.

Riim 09.09.2009 20:51

Цитата:

Сообщение от vovchok
как задать черный цвет фона в этом случае?

Цитата:

Сообщение от Riim
backgroundColor

только указывать его нужно внутри фрейма.

Цитата:

Сообщение от vovchok
bgcolor

сожги свой учебник по html, купи нормальный и читай, а то вопросы на уровне: "а как пользоваться мышью".

vovchok 09.09.2009 22:15

Внутри фрейма это как? У меня ситуация выглядит вот так и не работает:
<iframe width="100%" height="100%" name="frm" style="background-color:#000;">
<a href="img.jpg" target="frm"><img src="img.jpg"></a>

vovchok 10.09.2009 22:24

Возможно я неправильно выразился... Задам вопрос по-другому:
<iframe width="100%" height="100%" name="frm">
<a href="img1.jpg" target="frm"><img src="img2.jpg"></a>

Очевидно при нажатии на "img2.jpg" в окне "frm" отобразится "img1.jpg".
Проблемма в том, что разные обозреватели исполняют это по-разному. FF сначала отображает уменьшеный рисунок, чтобы он помещался в окне, а потом при нажатии на "img1.jpg" увеличивает масштаб рисунка до 100% и дает прокрутку, и при этом цвет фона (той части окна, что не занята рисунком) остается тот, что был задан до отображения рисунка. IE сразу отображает рисунок в 100% масштабе и фон делает ярко белым невзирая на то что там было раньше. Собственно эту белизну я и хочу закрасить, или объяснить IE, что фон надо оставить прежним (transparent).

Второй вопрос касается видимой высоты окна, в котором отображается меню из рисунков "img2.jpg". Как ее задать так, чтобы оно нормально со скролингом отображалось при растягивании окна FF и не заезжало за нижний край, как если задать высоту 100% ? В IE в этой ситуации как раз все Ok. Если второй вопрос непонятен, могу привести конкретный пример.

ps: Господа бывалые верстальщики! Зачем Вы пытаетесь обидеть тех кто тут Вас о чем-то спрашивает? Если у таких как я не возникало бы вопросов, то и форума наверное не было бы. Я программист с некоторым (20 лет) стажем, а ХТМЛ увидел неделю назад и пытаюсь в нем разобраться. Естественно мне хочется чтобы моя верстка выглядела как программа, а не документ ворда с разметкой, отсюда и вопросы возникают возможно не корректные, но не ошибаются те, кто ничего не пытаются сделать...

Riim 11.09.2009 08:16

Цитата:

Сообщение от vovchok
<iframe width="100%" height="100%" name="frm">
<a href="img1.jpg" target="frm"><img src="img2.jpg"></a>
Очевидно при нажатии на "img2.jpg" в окне "frm" отобразится "img1.jpg".
Проблемма в том, что разные обозреватели исполняют это по-разному. FF сначала отображает уменьшеный рисунок, чтобы он помещался в окне, а потом при нажатии на "img1.jpg" увеличивает масштаб рисунка до 100% и дает прокрутку, и при этом цвет фона (той части окна, что не занята рисунком) остается тот, что был задан до отображения рисунка. IE сразу отображает рисунок в 100% масштабе и фон делает ярко белым невзирая на то что там было раньше. Собственно эту белизну я и хочу закрасить, или объяснить IE, что фон надо оставить прежним (transparent).

В iframe нужно грузить не рисунок, а html-документ содержащий рисунок и уже с этим html-документ-ом можно будет делать все, что захочется.

Цитата:

Сообщение от vovchok
Второй вопрос касается видимой высоты окна, в котором отображается меню из рисунков "img2.jpg". Как ее задать так, чтобы оно нормально со скролингом отображалось при растягивании окна FF и не заезжало за нижний край, как если задать высоту 100% ? В IE в этой ситуации как раз все Ok. Если второй вопрос непонятен, могу привести конкретный пример.

Лучше ссылку на страницу.

Цитата:

Сообщение от vovchok
Господа бывалые верстальщики! Зачем Вы пытаетесь обидеть тех кто тут Вас о чем-то спрашивает?

Я не пытался обидеть тебя, я пытался обидеть твой учебник по html, просто, использования bgcolor уже лет 5 не видел, устарел учебник.

vovchok 11.09.2009 09:43

Цитата:

Сообщение от Riim (Сообщение 29845)
В iframe нужно грузить не рисунок, а html-документ содержащий рисунок и уже с этим html-документ-ом можно будет делать все, что захочется.

Это я знаю, но в даном случае нужно грузить именно рисунок, причем даже это не все, нужно чтобы папка сканировалась автоматом и выдавала все рисунки, которые там будут периодически менять и не хочется юзерам объяснять, что они должны еще править при этом исходники, но я пока не нашел в ХТМЛ комманд для этого. Если кто чего посоветует - буду признателен.

Цитата:

Сообщение от Riim (Сообщение 29845)
Я не пытался обидеть тебя, я пытался обидеть твой учебник по html, просто, использования bgcolor уже лет 5 не видел, устарел учебник.

Я пользуюсь htmlbook.ru. Учителей и опыта пока нет поэтому и стиля тоже никакого. Есть только опыт программирования на С и куча мата в душе от ограничений ХТМЛ...

Kolyaj 11.09.2009 09:58

Цитата:

Сообщение от vovchok
куча мата в душе от ограничений ХТМЛ

А какие там ограничения? С учетом того, что это не язык программирования, а язык разметки.

vovchok 11.09.2009 12:11

Вот пример, в котором IE FF по разному отображают окно.
Нужно в IE изменить цвет окружения картинки с белого на черный, а в FF решить проблемму со скроллингом. Картинку подставьте любую размером 500х700 или около того, а лучше разные картинки.
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html;>
 </head>
 <body style="background-color:#000; overflow:hidden;"> 
  <table width="100%" height="100%" border="1">
   <tr>
    <td width="120">
     <div style="width:120px; height:100%; overflow:auto;">
      <a href="IMG.jpg" target="frm">
       <img src="IMG.jpg" width="100">
      </a>
      <a href="IMG.jpg" target="frm">
       <img src="IMG.jpg" width="100">
      </a>
      <a href="IMG.jpg" target="frm">
       <img src="IMG.jpg" width="100">
      </a>
      <a href="IMG.jpg" target="frm">
       <img src="IMG.jpg" width="100">
      </a>
      <a href="IMG.jpg" target="frm">
       <img src="IMG.jpg" width="100">
      </a>
      <a href="IMG.jpg" target="frm">
       <img src="IMG.jpg" width="100">
      </a>
      <a href="IMG.jpg" target="frm">
       <img src="IMG.jpg" width="100">
      </a>
     </div>
    </td>
    <td>
     <iframe name="frm" width="100%" height="100%" scrolling="auto">
     </iframe>
    </td>
   </tr>
  </table>
 </body>
</html>


Цитата:

Сообщение от Kolyaj (Сообщение 29851)
А какие там ограничения? С учетом того, что это не язык программирования, а язык разметки.

Вот это как раз и есть ограничением! Как к примеру отсканировать папку и отобразить в документе все имеющиеся там рисунки если содержимое папки периодически меняется? Я уже молчу об оптимизации кода, когда чтобы совершить понтовое действие приходится нагружать комп кучей лишних телодвижений.

Kolyaj 11.09.2009 12:27

Папку на сервере? Вы протокол HTTP сначала поизучайте, чтобы глупостей не говорить.

Riim 11.09.2009 12:33

Раз уж хочется из html папки сканировать, то наверняка понравится такая штука: http://ru.wikipedia.org/wiki/ColdFusion

vovchok 11.09.2009 13:20

Для начала мне нужно победить проблеммы, на которые я наткнулся в приведенном мной примере

vovchok 11.09.2009 13:56

А в ответ тишина... Я задал в теме несколько вопросов - к счастью получил ответ на один из них. А как же быть с оставшимися? На них нет ответа, или влом отвечать? Может у меня подход к решению задачи в корне неправильный? Может надо послать таблицы и перейти на дивы, как это сейчас модно? Ну как-то же определяется эта чертова высота окна в FF... Или может задать этот вопрос разработчикам FF?

Riim 11.09.2009 14:08

Цитата:

Сообщение от vovchok
чертова высота окна в FF

http://yandex.ru/yandsearch?text=reset.css

B~Vladi 11.09.2009 15:47

Цитата:

Сообщение от vovchok
Может надо послать таблицы и перейти на дивы, как это сейчас модно?

Это не модно, а правильно.

vovchok 11.09.2009 17:54

Да - дивы помогли, таблицы в топку!
С высотами в FF проблемм не стало.
Кто знает как запретить в IE высвечивать меню со значками "сохранить, распечать, послать в эротическое путешествие..." при наведении на рисунок?
И еще вопрос: если окно разделить на два столбика можно ли ширину одного задать в "%" а второго в "px" и как узнать сколько % осталось? (ну типа width:100%-200px, или по аналогии с "*" в фреймах <frameset rows="80,*" cols="*">)

Octane 11.09.2009 18:02

<head>
…
    <meta http-equiv="imagetoolbar" content="no" />
…
</head>

Kolyaj 11.09.2009 19:01

Цитата:

Сообщение от vovchok
Кто знает как запретить в IE высвечивать меню со значками "сохранить, распечать, послать в эротическое путешествие..." при наведении на рисунок?

1. Глобальный. Указать мета-тег
<meta http-equiv="imagetoolbar" content="no" />


2. Локальный. У изображения, для которого не нужно показывать панель, указать аттрибут galleryimg="no".

vovchok 11.09.2009 21:17

Цитата:

Сообщение от Kolyaj (Сообщение 29958)
1. Глобальный. Указать мета-тег
<meta http-equiv="imagetoolbar" content="no" />

2. Локальный. У изображения, для которого не нужно показывать панель, указать аттрибут galleryimg="no".

Не срабатывает для "IMG1.jpg", который я вызываю как внешний исполняемый файл... Для него же и параметры фона/бордюра не могу задать.

<a href="IMG1.jpg" target="frm">
<img src="IMG2.jpg" width="100">
</a>

Может это можно как-то в фрейме задать?
<iframe name="frm" src="frm.html"></iframe>

Нужно подкорректировать реакцию браузера на открытие файлов .JPG
Как это сделать?

Octane 11.09.2009 21:24

Цитата:

Сообщение от vovchok
Может это можно как-то в фрейме задать?
<iframe name="frm" src="frm.html"></iframe>

вам уже давали ответ:
Цитата:

Сообщение от Riim
В iframe нужно грузить не рисунок, а html-документ содержащий рисунок и уже с этим html-документ-ом можно будет делать все, что захочется.


vovchok 11.09.2009 22:14

Цитата:

Сообщение от Octane (Сообщение 29970)
вам уже давали ответ:

Я тоже уже объяснял, что мне нужно грузить туда именно JPG, т.к. их очень много и они будут постоянно меняться обычными юзерами. Плодить такое колличество HTML файлов люди, озадачившие меня этим занятием и желающие размещать свои фотки в инете, не будут. Максимум что я могу им объяснить, это как подкорректировать список файлов JPG в одном файле, и то только потому, что я не нашел пока как выводить их все автоматом из папки.
Если есть возможность вызывать один HTML и в качестве параметром передавать ему имена разных JPG файлов, это можно было бы применить, но я не знаю есть ли тут такое ...

Octane 11.09.2009 23:03

Цитата:

Сообщение от vovchok
желающие размещать свои фотки в инете, не будут.

Желающие размещать фотки не будут, потому что есть нормальные галереи, где страницы генерируются динамически сервером, без необходимости править какие-то html-файлы.
Цитата:

Сообщение от vovchok
Если есть возможность вызывать один HTML и в качестве параметром передавать ему имена разных JPG файлов, это можно было бы применить, но я не знаю есть ли тут такое ...

Есть конечно, никто не мешает вам получить доступ к фрейму, если он загружен с вашего домена, и выполнить какие-либо изменения в документе с помощью javascript:
var iframe = document.getElementById("идентификатор-фрейма");
var doc = iframe.contentDocument || iframe.contentWindow.document;
// doc ссылается на window.document фрейма

Конечно с выключенным JavaScript ничего работать не будет, да и фрейм особо не нужен, можно вставить изображение прямо в текущий документ с помощью JavaScript.

Цитата:

Сообщение от vovchok
что я не нашел пока как выводить их все автоматом из папки.

Вам уже говорили (X)HTML —
Цитата:

Сообщение от Kolyaj
это не язык программирования

и никакие папки на сервере с его помощью сканировать не получится, для этих целей есть серверные языки программирования, посредством которых можно сгенерировать html-файл нужной структуры.

vovchok 13.09.2009 05:30

Цитата:

Сообщение от Octane (Сообщение 29974)
Желающие размещать фотки не будут, потому что есть нормальные галереи, где страницы генерируются динамически сервером, без необходимости править какие-то html-файлы.

Галереи есть конечно, но это не тот случай. Они хотят размещать фотки своего товара на своем сайте, а платить за него не хотят. А т.к. это мои родственники - нашли меня - ты программист, так - наваяй, а то что не все программисты ваяют сайты их не волнует...

Цитата:

Сообщение от Octane (Сообщение 29974)
Есть конечно, никто не мешает вам получить доступ к фрейму, если он загружен с вашего домена, и выполнить какие-либо изменения в документе с помощью JavaScript

С JS я пока не дружу, но за совет спасибо.

Цитата:

Сообщение от Octane (Сообщение 29974)
никакие папки на сервере с его помощью сканировать не получится, для этих целей есть серверные языки программирования, посредством которых можно сгенерировать html-файл нужной структуры.

По поводу динамической генерации HTML на бесплатном ресурсе, который мне подсунули, написано: зась - закроем сразу, т.к. серверу это напряжней, чем просто отображать готовые файлы.

Цитата:

Сообщение от Octane (Сообщение 29974)
программист с 20-и летним стажем так и не научился оформлять код в сообщениях на форумах

Я вообще-то на форуме по программированию впервые... 20 лет назад их не было... В FIDO мы только анекдоты читали. Опытом делились в основном при усном общении за пивом. А потом как-то не надо было. Когда мучаешь прикладную задачу - вопросы возникают не по программированию, а когда все это кончится!
Кстати форматирование у меня почему-то исчезло при вставке примера в сообщение.

В принципе мне удалось удовлетворить своих "заказчиков" тем что я наваял.
ОГРОМНОЕ спасибо всем, кто здесь мне помог! Не поминайте лихом.

vovchok 13.09.2009 15:22

По поводу форматирования кода HTML - кто может объяснить такой феномен:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
</head>
<body>
<table border="1">
<tr>
<td>
<img src="img.jpg" border="0">
</td>
</tr>
</table>
</body>
</html>


В FF3 бордюр таблицы вплотную прилегает к рисунку. В IE6 снизу не прилегает на 3px. Если перед </td> убрать перенос строки, чтобы оно было в одно строке с <img>, то этот прикол исчезает.

Octane 13.09.2009 15:27

По умолчанию vertical-align у изображений в браузерах разный, поробуйте задать vertical-align: top или bottom.
<img style="vertical-align: top;" ...>

vovchok 13.09.2009 16:55

Цитата:

Сообщение от Octane (Сообщение 30064)
По умолчанию vertical-align у изображений в браузерах разный, поробуйте задать vertical-align: top или bottom.
<img style="vertical-align: top;" ...>

В даном случае вертикальное выравнивание не действует, т.к. рисунок должен занимать всю ячейку таблицы, хотя я пробовал его задавать по-всякому - проблемма не в выравнивании.

Octane 13.09.2009 17:17

Цитата:

Сообщение от vovchok
Если перед </td> убрать перенос строки, чтобы оно было в одно строке с <img>, то этот прикол исчезает.

Цитата:

Сообщение от vovchok
проблемма не в выравнивании.

Отступ появляется из-за того, что IE подругому воспринимает непечатные символы и пытается выровнять изображения по базовой линии, хоть в строке и нет видимых символов.

Раз этот способ не момогает, с помощью CSS еще много чего можно попробовать изменить, например, задать overflow:hidden для ячейки таблицы, пробуйте…

Ссылка по теме


Часовой пояс GMT +3, время: 13:07.