Использование colorbox для всплывающего окна немедленно открывается (jQuery - Magento) - PullRequest
1 голос
/ 07 декабря 2011

Я использую JQuery Colorbox для реализации всплывающих окон. Это всплывающее окно сразу открывается и работает. Но для первой страницы загрузки, только для первой загрузки, всплывающее окно не может загрузить содержимое. My screen

jQuery(document).ready(function defaultPopup(){

    var direct = '<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('popup')->toHtml(); ?>'
    if(direct){
        jQuery('#popup_home').colorbox({open:true,html:direct,overlayClose:false});
        return false;
    }
});
<div id="popup_home"></div>

1 Ответ

1 голос
/ 07 декабря 2011

Вы должны экранировать специальные символы (<>) в вашей строке.

Для веб-браузера содержимое вашей переменной direct представляет собой HTML-тег без содержимого.

Попробуйте это:

jQuery(document).ready(function defaultPopup(){
var direct = '<?php echo $this->getLayout()->createBlock(\'cms/block\')->setBlockId(\'popup\')->toHtml(); ?>'
direct = $('<div/>').text(direct).text() // escaping characters in the initial string
if(direct){
    jQuery('#popup_home').colorbox({open:true,html:direct,overlayClose:false});
    return false;
}
});
<div id="popup_home"></div>
...