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

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

№103-05-2006 07:35:56

FeNiX415
Участник
 
Группа: Members
Зарегистрирован: 03-05-2006
Сообщений: 5

Не может получить значение JavaScript

tip0="STOP"; top.Frame5.f5.RTimer.value!=tip0
<input type=button id=timer name=RTimer onClick="ChatTimer(1);" class=send1 onmouseover="this.id='timerA';" onmouseout="this.id='timer';" value="STOP">

ФаерФокс Не может выдернуть значение и сравинить почему то занчаение:(
ИЕ и Опера работают вроде всё нормально
часть скрипта http://chat.vulcan.ru/chat-2006-2.js
сам чат: http://chat.vulcan.ru
Чат работает под ИЕ и Оперу, но не хочет работать под Мозилой нивкакую:(
Какие есть предложения в переделке запросов?

Отсутствует

 

№204-05-2006 16:00:31

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Не может получить значение JavaScript

У меня ошибка в первой строке функции Chat

Выделить код

Код:

function ChatTimer(i) {
	if (top.Frame5.f5.RTimer.value!=tip0) clearInterval(timerID);

Error: top.Frame5 has no properties
Source file: http://chat.vulcan.ru/chat-2006-2.js
Line: 158

Это потому что top. Frame5 - окно, а не документ, как ожидается. Без ошибки должно быть

Выделить код

Код:

top. Frame5. /*->*/document./*<-*/ f5. RTimer. value

Можно переписать начало функции Chat (возможно и других) примерно так:

Выделить код

Код:

function ChatTimer(i) {
        var RTimer = (top.Frame5.f5 || top.Frame5.document.f5). RTimer;
	if (RTimer.value!=tip0) clearInterval(timerID);

и заменить все

Выделить код

Код:

top.Frame5.f5.RTimer.value

на

Выделить код

Код:

RTimer.value

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№322-06-2006 05:31:48

FeNiX415
Участник
 
Группа: Members
Зарегистрирован: 03-05-2006
Сообщений: 5

Re: Не может получить значение JavaScript

Anton: а можете ещё помочь?:)

Выделить код

Код:

Ошибка: top.Frame4.document.all.chat.insertAdjacentHTML is not a function
Источник: http://chat2.vulcan.ru/chat-txt.js
Строка: 337
Выделить код

Код:

if ((i14!=1) && (top.Frame4.document.all.chat)) top.Frame4.document.all.chat.insertAdjacentHTML("AfterBegin","<table cellspacing="+(top.Frame5.document.Pus.hh.value/2)+" cellpadding=0 style='"+top.Frame5.document.Pus.MyStyle.value+"'>"+Pus+"</table>");

Что тут может вызывать ошибку? IE и Opera9 не показывает никаких ошибок

Отсутствует

 

№422-06-2006 10:38:38

Rion
Участник
 
Группа: Extensions
Откуда: Екатеринбург
Зарегистрирован: 15-06-2005
Сообщений: 227

Re: Не может получить значение JavaScript

2Admins:

Предлагаю сделать вклейку насчет document.all


Gentoo Linux

Отсутствует

 

№522-06-2006 13:26:20

FeNiX415
Участник
 
Группа: Members
Зарегистрирован: 03-05-2006
Сообщений: 5

Re: Не может получить значение JavaScript

Rion
А что ещё за вклейка?

Отсутствует

 

№623-06-2006 16:07:42

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Не может получить значение JavaScript

FeNiX415 пишет

...

Выделить код

Код:

Ошибка: top.Frame4.document.all.chat.insertAdjacentHTML is not a function
Источник: http://chat2.vulcan.ru/chat-txt.js
Строка: 337

...
Что тут может вызывать ошибку?...

Как что ? Написано же: 'insertAdjacentHTML is not a function'. FF не предоставляет такую функцию.


Чтобы добавить insertAdjacentHTML в FF, можно через css "пришить" к нужным/всем элементам xbl, например такой:

Выделить код

Код:

<?xml version="1.0" encoding="UTF-8"?>
<bindings xmlns="http://www.mozilla.org/xbl"
          xmlns:xbl="http://www.mozilla.org/xbl">
    <binding id="insertAdjacentHTMLBinding">
        <implementation>
            <method name="insertAdjacentHTML">
                <parameter name="sWhere"/>
                <parameter name="sText"/>
                <body>
                    <![CDATA[
                        if (/^afterbegin$/i. test (sWhere))
                            this. innerHTML = sText + this. innerHTML;
                        else if (/^beforeend$/i. test (sWhere))
                            this. innerHTML += sText;
                        else if ((/^afterend$/i. test (sWhere)) || (/^beforebegin$/i. test (sWhere)))
                        {
                            var parent = this. parentNode;
                            var place = parent. ownerDocument. createElement ("b");
                            var id = new Date (). valueOf ();
                            place. setAttribute ("id", id);
                            var placeRegExp = new RegExp ("<b id=\"" + id + "\"></b>", "i");
                            if (sWhere. indexOf ("before") == 0)
                                parent. insertBefore (place, this);
                            else
                                if (this. nextSibling)
                                    parent. insertBefore (place, this. nextSibling);
                                else
                                    parent. appendChild (place);
                            var pInnerHTML = parent. innerHTML. replace (placeRegExp, sText);
                            parent. innerHTML = pInnerHTML;
                        }
                    ]]>
                </body>
            </method>
        </implementation>
    </binding>
</bindings>

Отредактировано Anton (23-06-2006 19:31:40)


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№705-07-2006 01:20:42

FeNiX415
Участник
 
Группа: Members
Зарегистрирован: 03-05-2006
Сообщений: 5

Re: Не может получить значение JavaScript

Anton
А есть альтернатива insertAdjacentHTML в ФФ? Может будет проще заменить эту функцию, вместо того что бы "пришивать"?:)

Отсутствует

 

Board footer

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