我正在使用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>
答案 0 :(得分:1)
您应该在字符串中转义特殊字符(<>
)。
对于网络浏览器,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>