XHTML: <a>тег для нескольких адресатов в нескольких целевых кадрах? - PullRequest
1 голос
/ 18 октября 2008

Я работаю над таблицей ссылок на сайте, используя iframes. Мне интересно, есть ли способ кодировать ссылку, чтобы перейти к двум одновременным адресатам в двух разных целевых кадрах? Я читаю весь день и не могу найти ничего похожего на то, что я хочу сделать. По сути, я хочу, чтобы одна ссылка представляла фотографию в одном фрейме, а некоторые данные - в другом. Есть идеи?

Ответы [ 3 ]

3 голосов
/ 18 октября 2008

Краткий ответ: Нет.

Более длинный ответ: с тем, что вы описываете, используя строго X / HTML, это невозможно. Вы можете добавить в javascript, чтобы изменить iframe src. Что-то вроде:

function click_link(id) {
    document.getElementById('iframe1').src = "page.ext?id=" + id;
    document.getElementById('iframe2').src = "other_page.ext?id=" + id;
}

Но, конечно, вам, вероятно, не следует использовать фреймы в любом случае ...

1 голос
/ 18 октября 2008

Самый простой способ - это JavaScript, но на этот метод уже дан ответ. Единственный способ сделать это (без использования javascript) - сервер.

Сделайте ссылку обратно на верхний набор фреймов, который содержит все фреймы, которые вы хотите изменить, и на стороне сервера измените атрибуты src фреймов.

0 голосов
/ 19 октября 2008

Не используйте фреймы. Они вредны для удобства использования, плохи для SEO и вызывают такие проблемы.

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

Если вы объединяете файлы на стороне сервера, они будут работать без проблем в каждом браузере, поисковой системе и т. Д. Перезагрузка простой страницы не должна быть медленнее, чем загрузка 2 фреймов.

Или, в случае показа фотографий с описаниями, можно выполнить простой DHTML:

img.onclick = function(){
   $('bigphoto').src = this.src.replace(/_small/,'_big');
   $('description').innerHTML = this.title;
}
...