Полезная информация

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

Разработка » Доступ к элементам документа загруженного в iframe » 28-01-2011 17:20:37

Представляется, что это можно сделать как минимум двумя способами. Но надо знать структуру фреймов (вложенность, соседство и т.п.). Первый способ - через свойство  parent. добраться до общего корневого узла, а затем спуститься в требуемый фрейм используя свойство childNodes.
Второй метод связан с использованием глобального объекта window и его свойства frames

Разработка » Проблема в цепочке XML, XSLT, xhtml с использованием xForms » 28-10-2009 17:06:38

В чем может быть причина аномалии?
Firefox/3.0.14/
1.  Имеется  xhtml форма с элементами xForms (input и output) - работает отлично в Firefox.
2. если создавать идентичную  форму  средствами XSLT (повторяя весь текст из п.1) то не работают элементы  xForms (input и output).
Перепробовал все варианты xsl:output.  Firebag показывает, что отсутствует value в поле  input.

вот текст xml-файла (это просто пустышка)

Выделить код

Код:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type= "text/xsl" href="exp_2.xsl" ?>
<exp>tttt
</exp>

exp_2.xsl файл содержит только один корневой шаблон (<xsl:template match="/">, текстуально не связанный с xml-файлом , который создает ту же форму из  п.1. (см.код):

[code]<html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:xf="http://www.w3.org/2002/xforms"
        encoding="windows-1251">
   <head>
      <title>Работа XForms из xhtml </title>
      <xf:model>
         <xf:instance xmlns="">
            <data>
               <YouName/>
         

Разработка » JavaScript onclick » 09-02-2009 12:06:29

stoneflash пишет

piontr
А если добавить ещё один элемент?
И вообще не понятно, что этот код делает. Сначала видим три элемента, потом - два, третий пропадает куда-то.
Какую задачу пытались решить?

Это практически Ваша задача с использованием функции
function showHide(id,textWhenHidden,textWhenVisible)
1.Вместо того, чтобы создавать неоднородность за счет использования id (представьте, что эти структуры генерируются на фазе исполнения, где контролировать id практически невозможно.
2.В исходной задаче сочетание <p> и следующего за ним <span>, мягко выражаясь, не вполне корректно, так как  <span> всегда окажется на новой строке после </p>.Поэтому в задаче эти структуры заменены на div, с вложением нескольких spam-ов. 
3. Задача которая рассмотрена в примерах может быть сформулирована следующим образом:
Написать код, который работает со структурами, подобными пунктам меню. При этом фиксировать, какой пункт выбран (сообщение alert с контентом этого элемента (не id)) и что

Разработка » JavaScript onclick » 09-02-2009 10:52:31

Вопрос оказался актуальным и пришлось сесть за написание кода, хотя этим мне
приходиться заниматься крайне редко. Я не ставил перед собой цель получить
универсальный код обработки кликов для любого браузера. Приведенные коды
следует считать концептуальным подходом, как направление для дальнейших исследований.
Решая эту задачу с использованием DOM, пришлось столкнуться с тем, что IE и эти
стандарты игнорирует (как и многие другие).
Вот эти коды: 
<html>
    <head>
        <title>Пример кода, который прекрасно работает в FF</title>
        <link rel="stylesheet" type="text/css" href="ex.css"/>
    </head>
    <body>
           <script  language="JavaScript" type="text/javascript">
                function oneclick(elem)
                {   
                    var x1=elem.parentNode.childNodes;
                    alert('идет обработка узла '+x1.item(3).textContent);
                    if (elem.textContent=='+')
                        {elem.textContent='-'
                        x1.item(4).className='cl';
                        x1.item(5).className='op';
                        }
                    else
                        {elem.textContent='+'
                        x1.item(5).className='c

Разработка » JavaScript onclick » 06-02-2009 15:42:49

stoneflash пишет

однако при многослойных структурах - возникает проблема.

Вы про перехват\просачивание события? event.stopPropagation(); event.cancelBubble = true; ...

Да и вообще для решения задачи скрытия\раскрытия блоков, какая была описана выше, не стоит думать сильно о DOM, узлах и прочем.
Это решаемо основами JS, и различия в поддержках DOM Events тут мало на что влиять будут.

Согласен, что управление каскадированием можно решить чисто средствами JS, но использование DOM, DOM Events и CSS (display Property и visibility Property) резко сокращает объем кода.

Разработка » JavaScript onclick » 06-02-2009 11:44:01

stoneflash пишет

Вместо div и span используются block  и inline.

Что-то не понял. Первое - теги, второе - свойства. А к чему применять block и inline?

Текст то я поменяю, а вот яву не зашарю.

Вот это я тоже не понял.
:)

В решении этих вопросов надо исходить из позиции стандартов W3. XML Events показывает, что все реакции на события при их обработке должны проходить от корня дерева - документа к целевому узлу, для которого, собственно, и предназначен клик. Т.е. на один клик мыши откликнутся все узлы, которые "видны из под данного" в указанном порядке. Майкрософт пошел своим путем (по непроверенным данным в восьмой версии ИЕ будет поддерживаться стандартная модель). В IE событие просачивается от целевого узла (который лежит на поверхности) к корню документа. Когда отображается только один уровень объектов, реагирующих на клик - эта разница незаметна, однако при многослойных структурах - возникает проблема. Какие есть решения для многослойных структу

Разработка » JavaScript onclick » 05-02-2009 20:01:24

stoneflash пишет

aroma
Текст на ссылках также менять надо?

Представляется, что решением указанной проблемы является активное использование CSS. Именно в этом направлении развиваются все браузеры. Вместо div и span используются block  и inline. А обработка кликов в этом случае сводится к модификации свойств видимости.

Разработка » Использование xLink в XML-документах на FF. » 28-01-2009 18:36:30

Unghost пишет

См. Bug 39598 -  Implement show="embed" for simple XLink. Firefox не поддерживает корректно атрибут xLink:show со значением "embed".

Thank you, vary, vary!

Разработка » Использование xLink в XML-документах на FF. » 26-01-2009 17:34:00

Обнаружено, что FF неправильно реагирует на аттрибут xLink:show со значением "embed": вместо подстановки ресурса, определяемого ссылкой, заменяет весь документ на этот ресурс. Кто может сказать: это несоответствие стандарту W3 - случайность или преднамеренность??? Буду признателен за любую информацию по этому вопросу.

Разработка » Проблема с JavaScript... » 28-11-2008 16:45:41

майкософт и файфох(опера) по разному обрабатывают клики. Возможны два подхода: в джаваскрипт анализировать, какой браузер открывает этот текст, либо использовать спец.ПО, которое автоматически подстраивается под браузер (ссылок не могу дать, не знаю)

Разработка » получить отклик на клик в ХМЛ для ФФ » 27-11-2008 17:07:17

Z&N пишет

Такое впечатление, что evjs.js не присоединяется???

piontr а вдруг процессу мешает AdCentriaIM засевшая в вашем браузере :)

действительно, такая проблема есть. Еще не справился с about:config. Но представляется , что проблема в другом. В Опере это тоже не работает

27-11-2008 17:09:57

Anton пишет

evjs.js не присоединяется

Вот так:

Выделить код

Код:

<ev:aaa xmlns:ev="http://www.w3.org/2001/xml-events"
	 xmlns:xhtml="http://www.w3.org/1999/xhtml">
    <xhtml:script language="JavaScript"
        type="application/x-javascript" src="testev.js"/>

присоединится.

Спасибо за совет. Но, видимо префикс  ev: не следует ставить перед aaa , но все равно это не работает и в Опере и в ФФ

Разработка » получить отклик на клик в ХМЛ для ФФ » 27-11-2008 15:46:35

Уважаемые эксперты!
Плиз, помогите получить отклик на клик в ХМЛ для ФФ
Такое впечатление, что evjs.js не присоединяется???

<?xml version="1.0" encoding="UTF-8"?>
<!-- исходный XML-документ -->
<?xml-stylesheet type= "text/css" href="ev_css.css" ?>
<aaa xmlns:ev="http://www.w3.org/2001/xml-events">
    <script language="JavaScript"
        type="application/x-javascript" src="evjs.js"
    />
    <bbb ev:event="click" ev:handler="x-javascript:test">
        сделать клик на этом теге
        и получить ответ на уровне alert -test
    </bbb>
</aaa>

/*файл ev_css.css*/
aaa    {    display:block;
        border:1pt solid silver;
        padding:4pt 4pt 4pt 4pt;}
bbb    {    display:block;
        border:1pt solid silver;
        text-align:center;
        height:30pt;}

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]