измените iframe источник в т.е. использование JavaScript

Typescript видит, что первым параметром является number[], и это исправляет T, а затем вы получаете ошибку для второго. В то время как в теории T можно сделать вывод о string | number, я бы сказал, что текущее поведение, как правило, хорошо, но более вероятно, что предполагаемые союзы приведут к неожиданным ошибкам в других местах.

Вы можете заставить компилятор принять требуемый вызов, если вы заставите компилятор рассматривать все аргументы как единое целое, а не индивидуально, используя кортежи в параметрах отдыха: тип кортежа для примера вызова ([number[], string[]], поэтому для получения типа элемента мы используем T[number][number] (который будет string | number для вызова примера), а возврат к массиву массивов с помощью [][] [ 1112]

15
задан Community 6 October 2012 в 14:38
поделиться

7 ответов

document.getElementById("iframeId").src = "Your URL here."
14
ответ дан 1 December 2019 в 00:24
поделиться

Набор кадров возвращает объекты окна (или эквивалент). Вы хотите быть нацеленными на объект документа; попытайтесь делать:

window.frames['iframeId'].document.location.href =....

Это работает в IE, FF, Safari, и так далее, таким образом, никакая потребность в грязном определении браузера также.

nb. IIRC, который ссылки набора кадров называют в IE, идентификаторе в других браузерах, таким образом, Вы должны и назвать и идентификационный атрибут на - но у Вас уже есть это, таким образом, никакие заботы!

1
ответ дан 1 December 2019 в 00:24
поделиться

Просто используйте следующий код.

var iframe = document.getElementById('IFRAME ID'); // just for clarity
iframe .src = 'URL here';

Он должен работать с каждым браузером.

0
ответ дан 1 December 2019 в 00:24
поделиться

document.getElementById('MsgBoxWindow').getAttribute('src') работает в Internet Explorer, Firefox, Safari, чтобы получить исходный URL.

document.getElementById('MsgBoxWindow').setAttribute('src', urlwithinthedomain) работает в одних и тех же браузерах для установки исходного URL-адреса.

Однако перед вызовом iframe необходимо загрузить. Не размещайте его перед iframe при вызове кода JavaScript. Вы можете разместить оба после iframe, если вы вызываете его сразу после загрузки страницы, и он будет работать так, как ожидалось.

1
ответ дан 1 December 2019 в 00:24
поделиться

Поскольку вы использовали тег jquery, это может оказаться полезным.

function resizeIframe(height) {
    height = parseInt(height);
    height += 100;
    $('iframe#youriframeID').attr('height', height);   
}

В случае, если вы делаете кроссбраузерное изменение размера, посмотрите эту статью, в которой объясняется, как автоматически изменить высоту на основе содержимого iframe. Вам понадобится доступ к html-файлу сайта с iframe. Изменение размера iframe на основе содержимого

1
ответ дан 1 December 2019 в 00:24
поделиться

Я пробовал getElementById и множество других вариантов. Ни один не сработал одинаково ни в IE, ни в FF, ни в Opera, ни в Chrome.

Этот вариант работает хорошо: parent.frames.IFRAME_ID.location.href = '/';

2
ответ дан 1 December 2019 в 00:24
поделиться

Вы можете изменить src iframe двумя способами:

  1. Изменение href.
  2. Изменение src.

Оба метода требуют полной загрузки iFrame перед попыткой изменения.

Изменение href работает во всех браузерах, включая IE5. Вы можете обратиться к кадру

  • , обратившись к окну содержимого элемента:

    var myFrame = document.getElementById ('myFrame'); myFrames.contentWindow.location = ' http://example.com ';

  • Ссылаясь на ИМЯ элемента:

    var myFrame = window.frames.myFrame; // где myFrame - это ИМЯ элемента myFrame.location = ' http://example.com ';

Изменение src, как сказано выше, путем выбора элемента и изменения src - но это должен быть дочерний элемент, а не потомок элемент.

var myFrame = document.getElementById('myFrame');
myFrame.src = 'http://example.com' 
1
ответ дан 1 December 2019 в 00:24
поделиться
Другие вопросы по тегам:

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