我已经让这个脚本从代码后面打开一个fancybox,但它一直说“你是未定义的”......不确定是什么问题
StringBuilder sb = new StringBuilder();
sb.AppendLine("<script>");
sb.AppendLine("$.fancybox('../Popups/EndedProduction.aspx?Iframe', {");
sb.AppendLine("'width': 557,");
sb.AppendLine("'height': 244,");
sb.AppendLine("'transitionIn': 'none',");
sb.AppendLine("'transitionOut': 'none'");
sb.AppendLine("});");
sb.AppendLine("</script>");
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Completed", sb.ToString());
答案 0 :(得分:0)
查看生成的文档源(例如,使用firebug中的HTML-tab)并确保没有嵌入fancybox-script两次。
答案 1 :(得分:0)
找到了解决方法。
<a id="popup" href="../Popups/EndedProduction.aspx?Iframe"></a>
<script type="text/javascript">
function test() {
$("#popup").fancybox({
'width': 557,
'height': 244,
'transitionIn': 'none',
'transitionOut': 'none',
'type': 'iframe'
});
}
<% if (Current.Production.Status >= (Int32)ProductionStatus.Completed)
{ %>
$(document).ready(function () {
$("#popup").fancybox().trigger('click');
});
<%} %>
</script>
答案 2 :(得分:0)
对于它的价值,我正在设置一个像原始问题中发布的函数,遇到相同的错误,当我使用解压缩的源时,参数是“loading”var。很多堆栈溢出答案表明,当Flexbox脚本加载两次时会发生这种情况,但在我的情况下却没有。答案就是在FQuery(document).ready中包装FancyBox调用。你的解决方案可以做到这一点,但是取消了原来的手动触发器,所以我很好奇这是否能解决你的问题。