2012-06-15 2 views
2

У меня есть код, как показано ниже,Javascript ошибка с IFRAME в FF

var contentFrame = window.document.getElementById("globalSearch"); 
var content = contentFrame.document.getElementById("globalSearch"); 

Может кто-то пожалуйста expalin мне, что разница между двумя линиями выше. в FF я там получаю ошибку «contentFrame.document неопределен»

и моя форма что-то вроде ниже,

<form id="Search" action="<c:url value="/search" />" method="get"> 
<input .... />   
<iframe style="visibility : hidden;position : absolute;top : 0; border : 1px solid WindowFrame;"frameborder="0"   src="<c:url value="/search" />" 
id="globalSearch" name="globalSearch"></iframe></form> 

ли в любом случае я могу избавиться от вышеуказанной ошибки? Я был бы gald, если бы кто-то дал мне эквивалентный код в jquery, который работает во всех браузерах.

Еще раз спасибо!

Фактически, im мое приложение, для каждой страницы используется шаблон. Шаблон имеет заголовок, нижний колонтитул html. форма, показанная ниже, определена в header.html

<form id="Search" action="<c:url value="/search" />" method="get"> 
    <input .... />    
    <iframe style="visibility : hidden;position : absolute;top : 0; border : 1px solid WindowFrame;" frameborder="0" src="<c:url value="/search" />" id="globalSearch" name="globalSearch"></iframe> 
</form> 

Это является причиной, код ВЕ в IFrame идентификатор globalSearch (рассматривая в качестве дочернего элемента родительской страницы), как показано ниже,

var contentFrame = window.document.getElementById("globalSearch"); 
var content = contentFrame.document.getElementById("globalSearch");              

будет this->content=$(#globalSearch").contents(); работает в этом сценарии? просьба уточнить. Заранее спасибо. это очень актуально. пожалуйста помоги.

ответ

0
var contentFrame = window.document.getElementById("globalSearch"); 
var content = contentFrame.document.getElementById("globalSearch"); 

Только первое утверждение имеет смысл; второй опирается на первый и будет искать globalSearch внутри iframe с идентификатором globalSearch.

Btw, вы можете сократить первое заявление немного:

var contentFrame = document.getElementById('globalSearch') 

Вам не нужно указать window.

+0

Это снова вопрос ... На самом деле, мое приложение, для каждой страницы используется шаблон. Шаблон имеет заголовок, нижний колонтитул html. форма, показанная ниже, определена в header.html «method =» get »> « id = »globalSearch» name = «globalSearch»> Именно по этой причине код возвращает идентификатор iframe globalSearch (рассматривая как дочерний элемент родительской страницы), как показано ниже, var contentFrame = window.document.getElementById ("globalSearch"); var content = contentFrame.document.getElementById ("globalSearch"); будет ли это -> content = $ (# globalSearch). content(); работает в этом сценарии? пожалуйста, уточните. – user1455948

Смежные вопросы