ошибка getElementById.contentDocument в IE

Можно сделать, это непосредственно в gmake, не используя GNU Делает Стандартную Библиотеку:

lc = $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$1))))))))))))))))))))))))))

VAR = MixedCaseText
LOWER_VAR = $(call lc,$(VAR))

all:
        @echo $(VAR)
        @echo $(LOWER_VAR)

Это выглядит немного неуклюжим, но это сделало задание.

, Если Вы действительно идете с $ (оболочка) разнообразие, используйте := вместо всего =, как в LOWER_VAR := $(shell echo $VAR | tr A-Z a-z). Тем путем Вы только вызываете оболочку одно время, когда переменная объявляется вместо каждого раза, когда на переменную ссылаются!

Hope, которая помогает.

18
задан Donut 25 September 2009 в 14:22
поделиться

4 ответа

С эта страница :

Mozilla поддерживает стандарт W3C для доступа к объекту документа iframe через IFrameElm.contentDocument, тогда как Internet Explorer требует, чтобы вы открыли его через document.frames ["name"], а затем получили доступ к полученному документу.

Итак, вы необходимо определить браузер и вместо этого в IE сделать что-то вроде этого:

document.frames['iView'].document; 
12
ответ дан 30 November 2019 в 05:56
поделиться

Кроссбраузерный эквивалент contentDocument (включая сам Firefox, где contentDocument выполняет работу) - это contentWindow.document .

Итак, попробуйте:

alert(document.getElementById('iView').contentWindow.document);

contentWindow дает вам ссылку на объект window iframe, и, конечно же, .document - это просто объект DOM Document для iframe.

Вот статья, которая лучше описывает .

43
ответ дан 30 November 2019 в 05:56
поделиться

Кажется, вы хотите правильно получить содержимое окна iframe?

IE7 и FF2:

var iframe = document.getElementById('iView');
alert(iframe.contentWindow.document.body.innerHTML);
3
ответ дан 30 November 2019 в 05:56
поделиться

Использовать обнаружение функций, поскольку contentDocument поддерживается в IE 8:

var iframe = document.getElementById("iView");
var iframeDocument = null;
if (iframe.contentDocument) {
    iframeDocument = iframe.contentDocument;
} else if (iframe.contentWindow) {
    // for IE 5.5, 6 and 7:
    iframeDocument = iframe.contentWindow.document;
}
if (!!iframeDocument) {
    // do things with the iframe's document object
} else {
    // this browser doesn't seem to support the iframe document object
}
3
ответ дан 30 November 2019 в 05:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: