Вставка iframe в топик

Как наименьшей кровью добавить возможность вставлять в топики iframe, которые бы открывались в popup (или иным способом, но поверх дизайна)? Нужно для embed гугл-документов и т.п.

20 комментариев

avatar
как добавить — есть в поиске и помощи новичку, а в попап окне без доработки никак. будут открываться в теле текста
avatar
1. В /config/jevix.php добавьте в разрешенные теги iframe.
2. popup? если по клику, то делается элементарно с помощью js:
$(iframe).click(function(){
    window.open($(this).attr('src'), 'Frame name');
    return false;
});
avatar
да, именно такое! А не подскажете, можно ли как-то автоматически после всех iframe подверстывать кнопку, по клику на которую как раз работал этот js?
avatar
Можно.
$(window).load(function(){
    $(iframe).each(function(i){
        $(i).insertAfter("<a id='openFrame' data-src='"+$(i).attr('src')+"'>Open</a>");
    });
});
$('#openFrame').click(function(){
    window.open($(this).data('src'), 'Frame name');
    return false;
});
avatar
id на класс поменяйте, их же несколько.
avatar
что-то ни под каким соусом ни insertAfter, ни append не добавляют текст после iframe :(
avatar
Так вы код-то вдумчиво копируйте. Например, селектор iframe заключите в кавычки. Вместо i мне больше нравится выражение $(this).

И про консоль не забывайте.
avatar
append добавляет текст в конец iframe
insertAfter — после iframe
avatar
да, это всё я подправил. увы, код скопировать не могу, так как уже удалил. синтаксис js знаю, но тут не понял причину. а у вас этот код работает?
avatar
Виноват, ошибся. Исправленный скрипт:
$(window).load(function(){
    $(iframe).each(function(i){
        $("<a class='openFrame' data-src='"+$(this).attr('src')+"'>Open</a>").insertAfter($(this));
    });
});
$('.openFrame').click(function(){
    window.open($(this).data('src'), 'Frame name');
    return false;
});
avatar
И не забудьте
$('iframe').each(function(i){

, а не
$(iframe).each(function(i){
avatar
огромное спасибо! именно так всё работает.
avatar
Всегда рад помочь.
avatar
1. вот запутаете человека. iframe уже разрешен. домены разрешенные нужно добавить.
2. большая часть браузеров заблокирует такое открытие.
avatar
1. Ошибся
2. Согласен, но будет уведомление, что хотят открыть окно
avatar
2. что вы подразумеваете под
которые бы открывались в popup (или иным способом, но поверх дизайна)
avatar
большой документ, в дизайне сайта открывается неудобно. хотелось бы иметь возможность развернуть его на весь экран, не покидая сайта. то есть в popup
avatar
т.е. он открывается в странице, а потом ещё и в попап окне?
avatar
как угодно… если дважды будет загружаться — не беда, лишь бы работало
avatar
В какой файле добавить эти домены?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.