JavaScript没有在.ASCX页面中触发

时间:2013-06-10 18:06:38

标签: sitecore ascx

我知道我是.net世界的新手,所以我所了解和理解的内容都有局限性。我正在使用Sitecore,而Sitecore在幕后生成.aspx页面,所以我无法访问源代码,我有权访问的是.ascx这是子布局...所以我试着把一些javascript放到布局...我读到我被允许使用标签,但是当我现在运行程序时,它没有被触发。我想念的任何东西,请指教。谢谢你的帮助。

 <!-- Custom Feedback Code -->
<script type="text/javascript">


    function showModal() {

        var url = document.URL;

        var popUp = 'http://local.meau.com/components/supportcenter/feedback.aspx?value=';
        var site = popUp + url;
        var runpopUp = 50;
        if (runpopUp >= Math.random() * 100) {
            $(document).ready(function () {
                $.fancybox({
                    'width': 500,
                    'height': '55%',
                    'autoScale': false,
                    'transitionIn': 'none',
                    'transitionOut': 'none',
                    'type': 'iframe',
                    'href': site,
                    'showCloseButton': false,
                    'title': 'We Request your Feedback'

                });

            });
        }

    }


</script>
<!-- End of Custom Feedback Code -->

1 个答案:

答案 0 :(得分:0)

我建议首先删除(注释掉)随机化逻辑 - 以确保您的代码首先确定性地运行。接下来,在代码中完成的操作 - 匿名函数在$(document).ready函数中添加为showModal事件处理程序。除非您在showModal之前调用$(document).ready,否则您的处理程序将永远不会被执行。因此,@ Maras的建议应该有效,当然假设jquery javascript被加载到页面中。