Изменить источник iframe с другого iframe - PullRequest
3 голосов
/ 29 мая 2011

Хорошо, у меня есть 2 фрейма на родительской странице (по любой причине).

У меня есть меню навигации на родительской странице, которое меняет источник iframe # 1 ...

Работа iFrame # 1 состоит в том, чтобы отображать ДРУГОЕ навигационное меню ... Как и меню субнавигатора ...

Теперь, как я могу, щелкнув li внутри iFrame # 1, изменить источник iframe # 2? Они оба на одной родительской странице ...

Помимо неудачного сбоя, я также получаю предупреждение от инструментов разработчика Chrome -

Небезопасная попытка JavaScript получить доступ к фрейму с помощью файла URL: /// C: /website/index.html из фрейма с файлом URL: /// C: /website/news/navigator.html. Домены, протоколы и порты должны совпадать.

Вот код, который немного прояснит ситуацию:

HTML

<!-- HTML for the parent page itself -->
<iframe id="frameone" src=""></iframe>
<iframe id="frametwo" src=""></iframe>
<button onclick="onenav('test.html')">Change 1st frame</button>

<!-- The following is the HTML that is loaded inside "frameone" -->
<button onclick="twonav('test2.html')">Change 2nd frame</button>

// Javascript
var one = document.getElementById('frameone');
var two = document.getElementById('frametwo');

function onenav(x){
    one.src = x;
}

function twonav(y){
    two.src = y;
}

Для меня это имеет смысл, так как все это выполняется на родительской странице ... При загрузке я запрашиваю инструменты dev и вижу, что и 'one', и 'two' имеют элементы frame. Первая кнопка работает, вторая - нет ...

Ответы [ 2 ]

5 голосов
/ 29 мая 2011

У меня работает при использовании parent.twonav

DEMO

var links = [
    'javascript:\'<button onclick="parent.twonav(1)">Change 2nd frame</button>\'',
    'javascript:\'Hello\''
];
var one, two;
window.onload=function() {
  one = document.getElementById('frameone');
  two = document.getElementById('frametwo');
}  

function onenav(idx) {
    one.src=links[idx];
}  

function twonav(idx) {
    two.src=links[idx];
}  
0 голосов
/ 29 мая 2011

Как вы пытались изменить источник iframe?

parent.document.getElementById('2').src = "the new url";

Вы пробовали что-то подобное?Из вашего сообщения я предположил, что id 2-го фрейма равен 2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...