#php #javascript #jquery #css
#php #javascript #jquery #css
Вопрос:
Моя ситуация такова. Я веду блог WordPress. На всех внешних ссылках есть верхняя панель с информацией о моей странице. Верхняя панель запускается, когда ссылка имеет такую форму www.mydomain.com/?www.theirdomain.com и автоматически изменяются на bit.только когда они публикуются через facebook.
Однако я решил дать шанс fancybox Iframe. Итак, здесь у меня две ситуации.
- Страницы, посещаемые через facebook, Twitter и т.д., должны иметь верхнюю панель.
- Страницы, посещаемые с домашней страницы, должны открываться с помощью fancybox.
Проблема в том, что я не хочу, чтобы верхняя панель отображалась внутри fancybox (через домашнюю страницу), и я не могу придумать решение. Ссылки одинаковы в обеих ситуациях и ни в коем случае не должны быть изменены.
Верхняя панель использует div с идентификатором wpbar, возможно, если есть способ скрыть это и избежать программирования, было бы лучшим выбором.
Но если это не так, то у меня нет шансов. Как насчет заголовков со специальной строкой?
Это код из fancybox.
<script type="text/javascript">
$(document).ready(function() {
$("a.popup").fancybox({
'width' : '75%',
'height' : '75%',
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'type' : 'iframe'
});
});
</script>
Комментарии:
1. Нам действительно нужно визуально увидеть, о чем, черт возьми, вы говорите. 🙂
2. Вы хотите скрыть свою верхнюю панель без добавления какого-либо кода? Из того, что я прочитал, это просто вопрос использования
$('#wpbar').hide()
— но для этого требуется добавление кода..3. @freaktm Здравствуйте, как я могу добавить это в код fancybox? Я обновил свой вопрос с помощью кода. @Tomalak, пожалуйста, уделите мне 5 минут.
4. я думаю, что он пытается открыть одну и ту же страницу двумя способами: одним «классическим», с верхней панелью и одним внутри fancybox, без верхней панели… ему нужен способ определить, была ли открытая страница открыта обычным способом или с помощью fancybox, чтобы он мог скрыть верхнюю панель или нет…
Ответ №1:
Если я вас правильно понял, когда страница находится внутри вашего собственного домена, чтобы скрыть все заголовки WordPress, это правильно?
Тогда у вас должно быть два вызова fancybox, один для внутренних страниц и один для внешних
Поскольку ссылки на внешние страницы начинаются с http: //, а внутренние ссылки могут быть относительными, вы можете использовать это для фильтрации вызовов
$(document).ready(function() {
$("a.popup[href^='http://']").fancybox({
'width' : '75%',
'height' : '75%',
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'type' : 'iframe'
});
$("a.popup:[href^='http://']").fancybox({
'width' : '75%',
'height' : '75%',
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'content' : function(){
//specify the html content you want to load, which you will get from a different page
$.load($(this).attr('href') " #content");
// change #content for the div that holds the data you want to load.
// this will load only the html fragment, for example $.get('/page.html body') gets only
// what's inside body
}
});
});
Возможно, этот код не работает, поскольку я не тестировал, но я думаю, вы можете уловить идею
Ответ №2:
Вы пробовали CSS display:none
? Подробности см. в разделе «любой результат Google для css не отображается». Возможно, я неправильно понял вопрос, если да, не стесняйтесь игнорировать ; )
Комментарии:
1. @ Charlie Спасибо за эту ссылку, я только что ссылался на один из хитов Google, который содержал несколько читаемое объяснение. Мой обычный источник знаний css написан на немецком языке ^^