问题:使用颜色框立即打开弹出窗口(jQuery - Magento)

我正在使用 Jquery colorbox 来实现弹出窗口。此弹出窗口立即打开并且正在运行。但是对于第一次加载页面,只是第一次加载,弹窗无法加载内容。 我的屏幕

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>

解答

您应该转义字符串中的特殊字符 (<>)。

对于 Web 浏览器,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>
Logo

更多推荐