Javascript и JQuery (FancyBox) вопросJavascript и JQuery (FancyBox) вопрос
Я использую функцию Javascript ниже для совместного использования Twitter (а также другие услуги, код функции упрощается только Twitter на этот вопрос), который захватывает URL-адрес и заголовок для общего доступа, и он вызывается в ссылке с onclick. Это приводит к загрузке страницы в Twitter в окне всплывающего браузера, то есть <img src="/images/twitter_16.png" onclick="share.tw()" />
Чтобы соответствовать другим аспектам дизайна сайта, то, что я хотел бы сделать, это иметь страницу с общим доступом Twitter открыть не в стандартном окне браузера, а в окне Fancybox (jQuery).
Fancybox может загружать внешнюю страницу в iFrame, когда ссылка img или href содержит класс (в данном случае class="iframe"
) по ссылке и в функции готовности документа в заголовке.
Прямо сейчас, конечно, когда я даю класс iframe ссылке, которая также имеет onclick share.tw()
, я получаю два всплывающих окна: всплывающее окно браузера с правильной загруженной страницей на странице Twitter и всплывающее окно Fancybox jQuery, которое показывает сайт 404.
Как я могу изменить функцию, чтобы использовать Fancybox для представления страницы с акциями Twitter? Это правильный подход? Или есть лучший способ, например, реализовать функцию share в jQuery?
Благодаря ...
Javascript функция Доля:
var share = {
tw:function(title,url) {
this.share('http://twitter.com/home?status=##URL##+##TITLE##',title,url);
},
share:function(tpl,title,url) {
if(!url) url = encodeURIComponent(window.location);
if(!title) title = encodeURIComponent(document.title);
tpl = tpl.replace("##URL##",url);
tpl = tpl.replace("##TITLE##",title);
window.open(tpl,"sharewindow"+tpl.substr(6,15),"width=640,height=480");
}
};
Он вызывается, а именно:<img src="/images/twitter_16.png" onclick="share.tw()" />
функция FancyBox, вызывается путем добавления class="iframe"
в IMG или href link
$(".iframe").fancybox({
'width' : '100%',
'height' : '100%',
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'type' : 'iframe'
});
Спасибо, это близко. Теперь я получаю полноэкранное, пустое окно Fancybox. Но я не знаю, как ловить ошибки. Профайлер JS в инструментах разработчика Safari не показывает никаких ошибок .... – markratledge
Я бы переключился на Firebug на Firefox. Я не нашел ничего лучшего. Еще одна вещь, которую можно попробовать, - это использовать фиктивный якорь, изменить его атрибуты и щелкнуть по нему. Я обновлю свой ответ, чтобы показать пример. – wajiw
Кроме того, какой размер вы хотели бы этого сделать? Просто измените атрибуты height/width, если вы не хотите, чтобы они были заполнены. – wajiw