Установка фокуса к iframe содержанию

Предупреждение: недопустимое смещение строки 'XXX'

Это происходит, когда вы пытаетесь получить доступ к элементу массива с синтаксисом с квадратной скобкой, но вы делаете это по строке, а не по массиву, поэтому операция явно не имеет смысла .

Пример:

$var = "test";
echo $var["a_key"];

Если вы считаете, что переменная должна быть массивом, см., где она появляется и исправить там проблему.

40
задан Brock Adams 6 May 2011 в 03:18
поделиться

5 ответов

У меня была похожая проблема с толстым почтовым ящиком jQuery (диалоговое окно «Стиль Lightbox»). То, как я исправил свою проблему, заключается в следующем:

function setFocusThickboxIframe() {
    var iframe = $("#TB_iframeContent")[0];
    iframe.contentWindow.focus();
}

$(document).ready(function(){
   $("#id_cmd_open").click(function(){
      /*
         run thickbox code here to open lightbox,
         like tb_show("google this!", "http://www.google.com");
       */
      setTimeout(setFocusThickboxIframe, 100);
      return false;
   });
});

Код не работает без сертификата (). Основываясь на моем тестировании, он работает в Firefox3.5, Safari4, Chrome4, IE7 и IE6.

55
ответ дан 27 November 2019 в 01:24
поделиться
document.getElementsByName("iframe_name")[0].contentWindow.document.body.focus();
7
ответ дан Jaime Febres 27 November 2019 в 01:24
поделиться

Попытайтесь прислушаться к событиям в родительском документе и передать событие обработчику в iframe документе.

4
ответ дан Liam 27 November 2019 в 01:24
поделиться

Это - что-то, что работало на меня, хотя это чувствует запах немного неправильного:

var iframe = ...
var doc = iframe.contentDocument;

var i = doc.createElement('input');
i.style.display = 'none'; 
doc.body.appendChild(i);
i.focus();
doc.body.removeChild(i);

hmmm. это также прокручивает к нижней части содержания. Угадайте, что я должен вставлять фиктивное текстовое поле наверху.

0
ответ дан Jimmy 27 November 2019 в 01:24
поделиться

Используя метод contentWindow.focus(), таймаут, вероятно, необходим, чтобы дождаться полной загрузки iframe.

Для меня также работает использование атрибута onload="this.contentWindow.focus()", в firefox, в теге iframe

20
ответ дан 27 November 2019 в 01:24
поделиться
Другие вопросы по тегам:

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