过去两天我一直在研究这个话题。当页面加载时,我需要一个弹出窗口来显示,但只有在页面加载后才能显示出来。
弹出(在.js文件中)的代码是在页面加载后执行的,即使我在jsp文件的头中调用js代码,它仍然在页面加载后显示。但是,如果在对jsp的调用之后,我在jsp文件中放置了一个“警报”脚本,它将在加载页面之前执行,而不是弹出。
弹出的javascript代码具有以下结构:
package.popup = {
init : function() {
this._mypopup();
},
_myPopup : function() {
//...(code)
alert("This alert is also displayed after the page is loaded");
jQ.get('myPopupData.do?ajax=ajax', function(popupData) {
//...(code)
}
});
}
}
};.jsp中的代码如下所示:
//... some code
<div class="introSection">
<div class="header">
<header>
<hdgroup>
<h1>Welcome to myPage.</h1>
</hdgroup>
<jwr:script src="/javascript/bundles/jquery-1.6.1.min.js" useRandomParam="false" />
<jwr:script src="/javascript/bundles/homePage.js" useRandomParam="false" />
<jwr:script src="/javascript/bundles/mobilePopup.js" useRandomParam="false" />
<script language="javascript">alert("This alert is placed after the popup code is called in the header, but it's showed before");</script>
</header>
</div>
<ul>
//more code
</ul>
//more code有什么可能的解决办法吗?
发布于 2011-10-11 09:03:49
Javascript作为从页面读取的方式执行--在页面顶部放置一个<script>标记,以创建加载div /对话框。
发布于 2011-10-11 20:28:23
我不知道你想在页面加载之前做什么,但是如果你不想让用户在一个决策点之前下载整个页面,我只需要一个中间的页面。
如果只是需要在用户看到任何东西之前运行的代码,那么在代码执行完成之前,让页面的主体不可见(即在CSS中显示:无)。代码完成后,使主体再次可见。
也许这些不是优雅的解决方案,但是如果您想在服务器和客户端之间做一些事情,那么无论如何都有一个更好的地方可以这样做。
https://stackoverflow.com/questions/7723610
复制相似问题